-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Closed
Labels
A-stdlibC-compatA discrepancy between RustPython and CPythonA discrepancy between RustPython and CPythonC-enhancementNew feature or requestNew feature or requestgood first issueGood for newcomersGood for newcomers
Description
Though it will be sometimes blocked by rust side issues, don't worry!
Please just create PR about the broken test and and create issues related to the new bugs.
If you are new to updating cpython libraries, this guide will be useful:
https://github.com/RustPython/RustPython/wiki/How-to-update-test-files
When updating module Lib/X, please don't forget to also update Lib/test/test_X
A few libraries doesn't need to be updated because CPython also kept it same as previous version. In that case, please leave a comment to let us mark it as done. Thank you!
Tips
- To get specific version of CPython source code, e.g. try
git checkout v3.12.0from CPython repository. - Please check Update libraries and tests from CPython 3.10.6 #4064 for example. Not the entire changes but the each commits. One of the middle size example is 17e12de . Sometimes it can be really simple like 9571a68
- Please create one PR for one library+test pair whenever possible. Once you stuck by dependencies, go to one of the dependency first and finish it before restarting the stuck one unless they become simpler to be updated at the same time. Normally adding more libraries make passing tests (a lot) harder.
- To run tests, try
cargo run --features ssl -- -m test -v <test_name>. e.g. If you changedtest_unicode.py,cargo run --features ssl -- -m test -v test_unicode- If it runs too slow, try to add
--releaselikecargo run --release --features ssl -- -m test -v test_unicode
- If it runs too slow, try to add
List of libraries
-
__future__.pyUpdate os/posix/posixpath from CPython 3.12.2 #5257- Related test is
test_future_stmt - maybe related to allow
from __future__ import generator_stop#4060?
- Related test is
-
__hello__.pyunchanged -
__phello__unchanged -
_compression.pyunchanged -
_markupbase.pyunchanged -
_osx_support.pyunchanged -
_threading_local.py -
_weakrefset.py -
abc.pyUpdate libraries and test files from CPython v3.12 #5134_collections_abc.py_py_abc.py
-
aifc.pyremoved in 3.13 -
antigravity.pyunchanged -
argparse.pyUpdate libraries and test files from CPython v3.12 #5134 -
ast.pyUpdate ast, test_ast from CPython 3.12.0 #5121 -
asynchat.pyUpdate libraries and test files from CPython v3.12 #5134 removed in 3.13 -
asyncioUpdate Lib/asyncio from CPython v3.12.3 #3858- sys.get_asyncgen_hooks and sys.get_coroutine_origin_tracking_depth #3859
- requires
_contextvars - requires
_overlappedfor windows
-
asyncore.pyUpdate libraries and test files from CPython v3.12 #5134 removed in 3.13 -
base64.pyUpdate libraries and test files from CPython v3.12 #5134 -
bdb.pyUpdate libraries and test files from CPython v3.12 #5134 -
bisect.pyUpdate libraries and test files from CPython v3.12 #5134 -
bz2.pyUpdate libraries and test files from CPython v3.12 #5134 -
calendar.pyUpdatecalendar.pyandtest_calendar.pyfrom CPython v3.12 #5169 -
cgi.pyremoved in 3.13 -
cgitb.pyUpdateLib/cgitb.pyto 3.12 #5197 removed in 3.13 -
chunk.pyremoved in 3.13 -
cmd.pyunchanged -
code.pyUpdate code.py and test_code.py from CPython v3.12 #5174test_code_moduleis related test
-
codecs.pyUpdate codecs and test_codecs from cpython v3.12.4 #5372-
_pycodecs.py - See also io.IncrementalNewlineDecoder and codecs.IncrementalNewlineDecoder #3861
-
-
codeop.pyUpdate test_opcodes.py, test_codeop.py and codeop.py from CPython v3.12 #5115 -
collections -
colorsys.pyUpdateLib/colorsys.pyandLib/test/test_colorsys.pyto 3.12 #5198 -
compileall.pyUpdateLib/compileall.pyandLib/test/test_compileall.py#5199 -
concurrent -
configparser.pyUpdateconfigparser.pyandtest_configparser.pyfrom CPython v3.12 #5172 -
contextlib.py -
contextvars.pyunchanged -
copy.pyUpdatecopy.pyandtest_copy.pyfrom CPython v3.12 #5175 -
copyreg.pyobject.__getstate__ #5342 AddLib/test/test_copyreg.pyfrom 3.12 #5200- requires
__getstate__
- requires
-
csv.py【Need Update csv.rs】Update csv.py and test_csv.py from CPython v3.12 #5176 -
ctypes -
dataclasses.pyUpdate dataclasses, inspect from CPython 3.13 #5377 pendingmatchstatement support. -
datetime.pyUpdate datetime from CPython v3.12.3 #5314_pydatetime.py
-
dbm -
decimal.pyFirst step for Python 3.12 support #5078-
_pydecimal.py- depending oncontextvars
-
-
difflib.py -
dis.py -
distutils -
doctest.py- depending on_io.IncrementalNewlineDecoder -
email -
encodingsUpdate glob/getopt/encodings #5253 -
ensurepipUpdate ensurepip to Python 3.12 #5108 -
enum.pyFirst step for Python 3.12 support #5078 -
filecmp.pyRemove dummy_os import and update filecmp from CPython 3.12.2 #5258 -
fileinput.py -
fnmatch.py -
fractions.pyUpdate fraction from CPython 3.12.4 #5375 -
ftplib.pyUpdateLib/ftplib.pyandLib/test/test_ftplibto 3.12 #5196 -
functools.pyFirst step for Python 3.12 support #5078 -
gc.py -
genericpath.py -
getopt.pyUpdate glob/getopt/encodings #5253 -
getpass.py -
gettext.pyUpdate gettext.py and related test to 3.12 version #5287 -
glob.pyUpdate glob/getopt/encodings #5253 -
graphlib.pyunchanged -
gzip.pyUpdate gzip & tarfile & xmlrpc & pydoc + associated tests to 3.12.7 #5480 -
hashlib.py -
heapq.pyunchanged -
hmac.pyUpdate Lib/test/test_hmac.py to 3.12 version #5188 -
html -
http -
imghdr.pyremoved in 3.13 -
imp.pyremoved in 3.12 -
importlibFirst step for Python 3.12 support #5078 -
inspect.pyUpdate dataclasses, inspect from CPython 3.13 #5377 -
io.pyUpdate io, _pyio, test_io from CPython 3.12 #5370 -
ipaddress.pyUpdate ipaddress from CPython v3.12.3 #5312 -
json -
keyword.py -
linecache.py -
locale.py -
loggingUpdate Logging to 3.12.7 #5478 -
mailbox.py -
mimetypes.py -
multiprocessingUpdate multiprocessing from CPython 3.12.3 #5263- See also _multiprocessing_SemLock #3965
-
netrc.py -
nntplib.pyremoved in 3.13 -
ntpath.pyUpdate ntpath from CPython 3.12.3 #5262 -
nturl2path.py -
numbers.py -
opcode.pyUpdate test_opcodes.py, test_codeop.py and codeop.py from CPython v3.12 #5115 -
operator.pyUpdate Lib/test/test_operator.py to 3.12 #5194 -
optparse.py -
os.pyUpdate os/posix/posixpath from CPython 3.12.2 #5257 Update test_os from CPython v3.12.3 #5310- Blocker: Some tests requires async comprehension
- Handle windows test proper way #3960
- See also Tracking issue of os.utime regression #4053
-
pathlib.pyUpdate pathlib from CPython v3.12.3 #5311 -
pdb.py -
pickle.pyUpdate pickle from CPython 3.12.3 #5260- See also replace
array.__reduce__toarray.__reduce_ex__#3876 _compat_pickle.py-
test/pickletester.pysupportstest_pickle.pyUpdate pickle from CPython 3.12.3 #5260 -
test/test_picklebuffer.py
- See also replace
-
pickletools.pyUpdate pickle from CPython 3.12.3 #5260 -
pkgutil.py -
platform.py -
plistlib.py -
posixpath.pyUpdate os/posix/posixpath from CPython 3.12.2 #5257 -
pprint.pyUpdateLib/pprint.pyandLib/test/test_pprint.pyto 3.12 #5195 -
pty.py -
py_compile.py -
pydoc.py-
pydoc_data
-
-
queue.py- See also [RFC] _queue is missing #3608
-
quopri.py -
random.py -
re.pyUpdate Sre Engine Implementing to CPython 3.12 #5125- Don't forget sre files
sre_compile.py,sre_constants.py,sre_parse.py
- Don't forget sre files
-
reprlib.py -
rlcompleter.py -
runpy.py -
sched.py -
secrets.py -
selectors.pyUpdate subprocess/selectors from CPython 3.12.3 #5290 -
shelve.py -
shlex.py -
shutil.pyBump shutil to 3.12.3 #5228 -
signal.pyUpdate signal from CPython 3.12.3 #5280 -
site.pyUpdate site from CPython v3.12.3 #5313- Don't forget
_sitebuiltins.py
- Don't forget
-
smtpd.pyremoved in 3.13 -
smtplib.pyUpdate Logging to 3.12.7 #5478 -
sndhdr.pyremoved in 3.13 -
socket.pyUpdate socket and test from CPython 3.12.2 #5255 -
socketserver.py -
sqlite3 -
ssl.py -
stat.py -
statistics.py -
string.py -
stringprep.py -
struct.py -
subprocess.pyUpdate subprocess/selectors from CPython 3.12.3 #5290 -
sunau.pyremoved in 3.13 -
sysconfig.py -
tabnanny.py -
tarfile.py -
telnetlib.pyremoved in 3.13 -
tempfile.py -
textwrap.py -
this.py -
threading.py -
timeit.py -
token.py -
tokenize.py -
tomllib -
trace.py -
traceback.py -
tty.py -
types.py -
typing.pyImport typing Self Error #5149 -
unittestFirst step for Python 3.12 support #5078 -
urllib -
uu.pyUpdateuu.pyandtest_uu.pyfrom CPython v3.12.0 #5161 removed in 3.13 -
uuid.py -
venv -
warnings.py -
weakref.py -
webbrowser.py -
wsgiref -
xdrlib.pyremoved in 3.13 -
xml -
xmlrpc -
zipapp.py -
zipfile.py -
zipimport.py - test.support First step for Python 3.12 support #5078
List of tests without python libraries
-
test/test___all__.py -
test/test__locale.pyUpdate test__locale.py and test_atexit.py from CPython v3.12 #5114 -
test/test__opcode.py -
test/test_abstract_numbers.py -
test/test_array.py -
test/test_asdl_parser.py -
test/test_asyncgen.py -
test/test_atexit.pyUpdate test__locale.py and test_atexit.py from CPython v3.12 #5114 -
test/test_audioop.py -
test/test_audit.py -
test/test_augassign.py -
test/test_baseexception.py -
test/test_bigaddrspace.pyUpdate test files from CPython v3.12.0 #5122 -
test/test_bigmem.pyUpdate test files from CPython v3.12.0 #5122 -
test/test_binascii.py -
test/test_binop.pyunchanged -
test/test_bool.pyUpdate test files from CPython v3.12.0 #5122 -
test/test_buffer.py -
test/test_bufio.pyUpdate test files from CPython v3.12.0 #5122 -
test/test_builtin.py -
test/test_bytes.py -
test/test_bz2.py -
test/test_c_locale_coercion.pyUpdate test files from CPython v3.12.0 #5122 -
test/test_call.py -
test/test_charmapcodec.py -
test/test_check_c_globals.py -
test/test_class.pyUpdate test files from CPython v3.12.0 #5122 -
test/test_clinic.py -
test/test_cmath.pyUpdate test files from CPython v3.12.0 #5122 -
test/test_cmd_line.pyUpdate test files from CPython v3.12.0 #5127 -
test/test_cmd_line_script.pyUpdate test files from CPython v3.12.0 #5127 -
test/test_codeccallbacks.pyunchanged -
test/test_compare.pyUpdate test files from CPython v3.12.0 #5127 -
test/test_compile.pytest_builtin.py test_compile unit test fix #5251 -
test/test_complex.pyUpdate test files from CPython v3.12.0 #5127 -
test/test_contains.pyunchanged -
test/test_context.pyUpdate test files from CPython v3.12.0 #5127 -
test/test_contextlib_async.py -
test/test_coroutines.py -
test/test_crashers.pyUpdate test_crashers from Cpython v3.11.2 #4807 CPython specific -
test/test_csv.py【Need Update csv.rs】Update csv.py and test_csv.py from CPython v3.12 #5176 -
test/test_decorators.pyUpdate test files from CPython v3.12.0 #5127 -
test/test_defaultdict.pyUpdate test files from CPython v3.12.0 #5127 -
test/test_deque.pyunchanged -
test/test_descr.pyUpdate test files from CPython v3.12.0 #5127 -
test/test_descrtut.pyUpdate test files from CPython v3.12.0 #5127 -
test/test_devpoll.pyunchanged -
test/test_dict.pyUpdate test files from CPython v3.12.0 #5127 -
test/test_dict_version.pyUpdate test_dict_version.py from Cpython v3.11.2 #4809 Not implemented in RustPython -
test/test_dictcomps.pyunchanged -
test/test_dictviews.pyUpdate test files from CPython v3.12.0 #5127 -
test/test_docxmlrpc.pyunchanged -
test/test_dtrace.pyUpdate test files from CPython v3.12.0 #5127 -
test/test_dynamic.pyUpdate test files from CPython v3.12.0 #5127 -
test/test_dynamicclassattribute.pyunchanged -
test/test_eintr.pyUpdate test files from CPython v3.12.0 #5127 -
test/test_embed.py -
test/test_enumerate.py -
test/test_eof.pyUpdate test files from CPython v3.12.0 #5127 -
test/test_epoll.pyUpdate test files from CPython v3.12.0 #5127 -
test/test_errno.pyunchanged -
test/test_except_star.py -
test/test_exception_group.pyExceptionGroup #5254 -
test/test_exception_hierarchy.pyunchanged -
test/test_exception_variations.py -
test/test_exceptions.py -
test/test_extcall.py -
test/test_faulthandler.py -
test/test_fcntl.py -
test/test_file.pyUpdate libraries and test files from CPython v3.12 #5134 -
test/test_file_eintr.py -
test/test_fileio.py -
test/test_fileutils.py -
test/test_finalization.py -
test/test_float.py -
test/test_flufl.pyAdd test_flufl.py from Cpython v3.11.2 #4824 CPython specific -
test/test_fork1.py -
test/test_format.py -
test/test_frame.py -
test/test_frozen.py -
test/test_fstring.py -
test/test_funcattrs.py -
test/test_future.py -
test/test_future3.py -
test/test_future4.py -
test/test_future5.py -
test/test_gdb.py -
test/test_generator_stop.py -
test/test_generators.py -
test/test_genericalias.py -
test/test_genericclass.py -
test/test_genexps.py -
test/test_getpath.py -
test/test_global.py -
test/test_grammar.py -
test/test_grp.py -
test/test_hash.py -
test/test_hashlib.py -
test/test_index.py -
test/test_int.py -
test/test_int_literal.py(unchanged) -
test/test_interpreters.py -
test/test_ioctl.py -
test/test_isinstance.py -
test/test_iter.py -
test/test_iterlen.py -
test/test_itertools.pyAdd itertools.batched Support #5209 -
test/test_keywordonlyarg.py -
test/test_kqueue.py -
test/test_largefile.py -
test/test_launcher.py -
test/test_list.py -
test/test_listcomps.py -
test/test_lltrace.py -
test/test_long.py -
test/test_longexp.py -
test/test_marshal.py- See also marshal module is imcomplete #3458
-
test/test_math.pyUpdating test_math.py to CPython 3.12.9 #5507 -
test/test_memoryio.py -
test/test_memoryview.py -
test/test_metaclass.py -
test/test_minidom.py -
test/test_mmap.py- See also mmap module for windows #3847
-
test/test_module.pyFirst step for Python 3.12 support #5078 -
test/test_multibytecodec.py -
test/test_named_expressions.py -
test/test_nis.py -
test/test_numeric_tower.py -
test/test_opcache.py -
test/test_openpty.py -
test/test_ordered_dict.py -
test/test_ossaudiodev.py -
test/test_osx_env.py -
test/test_patma.py -
test/test_peepholer.py -
test/test_pep646_syntax.py -
test/test_pkg.py -
test/test_poll.py -
test/test_popen.py -
test/test_positional_only_arg.py -
test/test_posix.pyUpdate os/posix/posixpath from CPython 3.12.2 #5257 -
test/test_pow.py -
test/test_print.py -
test/test_property.py- See also support property name #4067
-
test/test_pulldom.py -
test/test_pwd.py -
test/test_pyexpat.py -
test/test_raise.py -
test/test_range.py -
test/test_readline.py -
test/test_regrtest.py -
test/test_repl.py -
test/test_resource.py -
test/test_richcmp.py -
test/test_robotparser.py -
test/test_sax.py -
test/test_scope.py -
test/test_script_helper.py -
test/test_select.py -
test/test_set.py -
test/test_setcomps.py -
test/test_slice.py -
test/test_smtpnet.py -
test/test_sort.py -
test/test_source_encoding.py -
test/test_spwd.py -
test/test_stable_abi_ctypes.py -
test/test_startfile.py -
test/test_strftime.py -
test/test_string.py -
test/test_string_literals.py -
test/test_strptime.py -
test/test_strtod.py -
test/test_structseq.py - See also __match_args__ for structseq #4063
-
test/test_subclassinit.py -
test/test_sundry.py -
test/test_super.py -
test/test_support.pyFirst step for Python 3.12 support #5078 -
test/test_syntax.py -
test.test_sys -
test/test_sys_setprofile.py -
test/test_sys_settrace.py -
test/test_syslog.py -
test/test_tcl.py -
test/test_thread.py -
test/test_threadedtempfile.py -
test/test_threadsignals.py -
test/test_time.py -
test/test_timeout.py -
test/test_tix.py -
test/test_tuple.py -
test/test_type_annotations.py -
test/test_type_cache.py -
test/test_type_comments.py -
test/test_typechecks.py -
test/test_types.py -
test/test_ucn.py -
test/test_unary.py -
test/test_unicode.pyFirst step for Python 3.12 support #5078 -
test/test_unicode_file.py -
test/test_unicode_file_functions.py -
test/test_unicode_identifiers.py -
test/test_unicodedata.py -
test/test_univnewlines.py -
test/test_unpack.py -
test/test_unpack_ex.py -
test/test_unparse.py -
test/test_userdict.py -
test/test_userlist.py -
test/test_userstring.py -
test/test_utf8_mode.py -
test/test_utf8source.py -
test/test_wait3.py -
test/test_wait4.py -
test/test_weakset.py -
test/test_winconsoleio.py -
test/test_winreg.py -
test/test_winsound.py -
test/test_with.py -
test/test_yield_from.py -
test/test_zlib.pyUpdate zlib from 3.12.6 and _ZlibDecompressor implementation #5476 -
test/test_asyncio -
test/test_capi -
test/test_import -
test/test_tools
Not yet added libraries
These libraris are not added yet. Pure python one will be possible while others are not.
-
_bootsubprocess.py -
cProfile.py -
crypt.pyremoved in 3.13 -
curses -
idlelib -
imaplib.py -
imp.py- See also correct impl _imp.source_hash #4075
-
lzma.py -
mailcap.pyremoved in 3.13 -
modulefinder.py -
msilibremoved in 3.13 -
pipes.pyremoved in 3.13 -
poplib.py -
pstats.py -
pyclbr.py -
symtable.py -
tkinter -
tracemalloc.py -
turtle.py -
wave.py -
zoneinfoAdd zoneinfo Library from Python 3.12.6 #5400
Metadata
Metadata
Assignees
Labels
A-stdlibC-compatA discrepancy between RustPython and CPythonA discrepancy between RustPython and CPythonC-enhancementNew feature or requestNew feature or requestgood first issueGood for newcomersGood for newcomers