You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
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, try git checkout v3.11.2 from CPython repository.
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 changed test_unicode.py, cargo run --features ssl -- -m test -v test_unicode
If it runs too slow, try to add --release like cargo run --release --features ssl -- -m test -v test_unicode
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
git checkout v3.11.2from CPython repository.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--releaselikecargo run --release --features ssl -- -m test -v test_unicodeList of libraries
__future__.pyfrom __future__ import generator_stop#4060?__hello__.pyUpdate __hello__ from cpython #4570__phello__Update __hello__ from cpython #4570_collections_abc.pyupdated _collections_abc.py and test_collections.py to CPython 3.11.2 #5016_compat_pickle.py_compression.pyUpdate _compression, gzip, and test_gzip for CPython v3.11.2 #4688_markupbase.pyUpdate _markupbase, html/parser for CPython v3.11.2 #4703unchanged_osx_support.py_py_abc.py_pycodecs.py_pydecimal.py_pyio.py_sitebuiltins.py_threading_local.py_weakrefset.pyabc.pyUpdate abc.py from Python 3.11 #4985aifc.pyantigravity.py— feat(antigravity): update to 3.11 #4591argparse.py— feat(argparse): update to 3.11 #4592ast.pyasynchat.pyasyncioasyncore.pybase64.pyCommit 185111dbdb.pyDeprecated.binhex.pybisect.pyUpdate bisect.py and test_bisect.py from CPython v3.11.2 #4774bz2.pyUnchangedcalendar.pyUpdate calendar.py from CPython 3.11 #4669cgi.pycgitb.pychunk.pycmd.pycode.pycodecs.pycodeop.pycollections_collections.OrderedDicttype (a.k.a.collections.OrderedDict) #3418colorsys.pycompileall.pyUpdate compileall to CPython 3.11.5 #5070concurrentconfigparser.pyfeat(configparser): update to 3.11 #4595contextlib.pyUpdate test/test_contextlib.py from CPython 3.11.2 #4649 Update contextlib.py and test_contextlib from CPython 3.11.2 #4659contextvars.pycontextvars) #3188copy.pyUpdate copy.py from CPython 3.11 #4674copyreg.pycsv.pyctypesdataclasses.pypendingmatchstatement support.datetime.pydbmdecimal.pydifflib.pyupdate test_difflib from CPython3.11.2 #5063dis.pydistutilsdoctest.pyemailencodingsensurepipUpdate ensurepip from cpython 3.11.2 #4590enum.pyUpdate enum to CPython 3.11.5 #5074filecmp.pyfileinput.pyUpdate fileinput to CPython 3.11.5 #5071fnmatch.pyDeprecatedformatter.pyfractions.pyUpdate fractions to CPython 3.11.5 #5072ftplib.pyUpdate ftplib to CPython 3.11.5 #5073functools.pygc.pygenericpath.pygetopt.pygetpass.pygettext.pyglob.pyUpdate glob.py and test/test_glob.py from CPython v3.11.2 #4744graphlib.pygzip.pyUpdate _compression, gzip, and test_gzip for CPython v3.11.2 #4688hashlib.pyheapq.pyhmac.pyunchangedhtmlhttpimghdr.pyimp.pyimportlibUpdate importlib from CPython 3.11.2 #4561inspect.pyio.pyipaddress.pyjsonkeyword.pyunchangedlinecache.pylocale.pyUpdate test.support from CPython 3.11.2 #4537loggingmailbox.pymimetypes.pymultiprocessingnetrc.pynntplib.pyntpath.pynturl2path.pynumbers.pyopcode.pyunchangedoperator.pyoptparse.pyunchangedos.pypathlib.pypdb.pypickle.pyarray.__reduce__toarray.__reduce_ex__#3876pickletools.pypkgutil.pyplatform.pyplistlib.pyposixpath.pypprint.pypty.pypy_compile.pypydoc.pypydoc_dataqueue.pyquopri.pyrandom.pyFix int.from_bytes and Update random.py and test/test_random.py from CPython v3.11.2 #4748re.pyreprlib.pyrlcompleter.pyrunpy.pysched.pysecrets.pyselectors.pyshelve.pyshlex.pyshutil.pysignal.pysite.pysmtpd.pysmtplib.pysndhdr.pysocket.pysocketserver.pysqlite3sre_compile.pysre_constants.pysre_parse.pyssl.pystat.pystatistics.pystring.pystringprep.pystruct.pysubprocess.pyUpdate subprocess to CPython 3.11 #4981sunau.pysysconfig.pyUpdate sysconfig, test_sys and test_syslog from CPython 3.11 #4569tabnanny.pytarfile.pytelnetlib.pytempfile.pytextwrap.pythis.pythreading.pytimeit.pytoken.pytokenize.pytomllibtrace.pyUpdate trace from CPython 3.11.2 #4586traceback.pytty.pytypes.pytyping.pyunittestUpdate unittest from CPython 3.11 #4560urllibuu.pyuuid.pyvenvwarnings.pyweakref.pywebbrowser.pywsgirefxdrlib.pyxmlxmlrpczipapp.pyzipfile.pyzipimport.pywasiinstead ofunknown#4539PYTHONSAFEPATH#4541List of tests without python libraries
test/test___all__.pytest/test__locale.pytest/test__opcode.pytest/test_abstract_numbers.pytest/test_array.pyUpdate test_array.py from Cpython v3.11.2 #4745array.__reduce__toarray.__reduce_ex__#3876test/test_asdl_parser.pytest/test_asyncgen.pytest/test_atexit.pyUpdate test_atexit from cpython 3.11.2 #4621test/test_audioop.pytest/test_audit.pyunchangedtest/test_augassign.pytest/test_baseexception.py— Update test_baseexception.py from cpython 3.11.2 #4624test/test_bigaddrspace.pytest/test_bigmem.pyUpdate test_bigmem from cpython 3.11.2 #4625test/test_binascii.pystrict_modekeyword parameter inbinascii.a2b_base64()#4374unchangedtest/test_binop.pytest/test_bool.pyUpdate test/test_bool from cpython 3.11.2 #4631test/test_buffer.pyUpdate test/test_buffer from CPython 3.11.2 #4632unchangedtest/test_bufio.pytest/test_builtin.pyupdate test_builtin.py from cpython v3.11.2 #4765test/test_bytes.pyUpdate test_bytes.py from CPython v3.11.2 #4746test/test_bz2.pytest/test_c_locale_coercion.pytest/test_call.pyunchangedtest/test_charmapcodec.pytest/test_check_c_globals.pytest/test_class.pytest/test_clinic.pyunchangedtest/test_cmath.pytest/test_cmd_line.pyUpdate test_cmd_line from Cpython v3.11.2 #4801test/test_cmd_line_script.pyUpdate test_cmd_line_script from Cpython v3.11.2 #4802unchangedtest/test_code_module.pyunchangedtest/test_codeccallbacks.pytest/test_compare.pyUpdate test_compare from Cpython v3.11.2 #4803test/test_compile.pyUpdate test_compile from Cpython v3.11.2 #4804test/test_complex.pyupdate test_complex.py from cpython 3.11.2 #4755unchangedtest/test_contains.pytest/test_context.pyUpdate test_context from Cpython v3.11.2 #4805test/test_contextlib_async.pytest/test_coroutines.pyCPython specifictest/test_crashers.pyUpdate test_crashers from Cpython v3.11.2 #4807test/test_csv.pytest/test_decorators.pyUpdate test_decorators from Cpython v3.11.2 #4806unchangedtest/test_defaultdict.pytest/test_deque.pyupdated test_deque.py from CPython v3.11.2 #4761unchangedtest/test_descr.pytest/test_descrtut.pytest/test_devpoll.pyUpdate test_devpoll from Cpython v3.11.2 #4808test/test_dict.pyUpdate test_dict.py from CPython v3.11.2 #4763Not implemented in RustPythontest/test_dict_version.pyUpdate test_dict_version.py from Cpython v3.11.2 #4809unchangedtest/test_dictcomps.pytest/test_dictviews.pyUpdate test_dictviews.py from Cpython v3.11.2 #4810test/test_docxmlrpc.pyUpdate test_docxmlrpc.py from Cpython v3.11.2 #4811test/test_dtrace.pyUpdate test_dtrace.py from Cpython v3.11.2 #4812test/test_dynamic.pyUpdate test_dynamic.py from Cpython v3.11.2 #4813unchangedtest/test_dynamicclassattribute.pytest/test_eintr.pyUpdate test_eintr.py from Cpython v3.11.2 #4814CPython specific.test/test_embed.pyUpdate test_embed.py from Cpython v3.11.2 #4815test/test_enumerate.pytest/test_eof.pyAdd test_eof.py from Cpython v3.11.2 #4753test/test_epoll.pyUpdate test_epoll.py from Cpython v3.11.2 #4816unchangedtest/test_errno.pytest/test_except_star.pytest/test_exception_group.pyAdd test_exception_group.py from Cpython v3.11.2 #4817test/test_exception_hierarchy.pyUpdate test_exception_hierarchy.py from Cpython v3.11.2 #4818test/test_exception_variations.pytest/test_exceptions.pyUpdate test_exceptions.py from Cpython v3.11.2 #4819test/test_extcall.pytest/test_faulthandler.pyUpdate test_faulthandler.py from Cpython v3.11.2 #4820unchangedtest/test_fcntl.pyunchangedtest/test_file.pytest/test_file_eintr.pytest/test_fileio.pyUpdate test_fileio.py from Cpython v3.11.2 #4821CPython specifictest/test_fileutils.pyAdd test_fileutils.py from Cpython v3.11.2 #4822test/test_finalization.pytest/test_float.pyUpdate test_float.py from Cpython v3.11.2 #4823CPython specifictest/test_flufl.pyAdd test_flufl.py from Cpython v3.11.2 #4824test/test_fork1.pytest/test_format.pyUpdate test_format.py from Cpython v3.11.2 #4825test/test_frame.pytest/test_frozen.pytest/test_fstring.pytest/test_funcattrs.pyAdd test_funcattrs.py from Cpython v3.11.2 #4829test/test_future.pyUpdate test_future.py from Cpython v3.11.2 #4830unchangedtest/test_future3.pyunchangedtest/test_future4.pyunchangedtest/test_future5.pytest/test_gdb.pytest/test_generator_stop.pytest/test_generators.pytest/test_genericalias.pyUpdate test_genericclass.py from Cpython v3.11.2 #4831test/test_genericclass.pytest/test_genexps.pytest/test_getpath.pytest/test_global.pyUpdate test_global.py from Cpython v3.11.2 #4832test/test_grammar.pytest/test_grp.pyUpdate test_grp.py from Cpython v3.11.2 #4833test/test_hash.pyUpdate test_hash.py from Cpython v3.11.2 #4834test/test_hashlib.pyUpdate test_hashlib.py from Cpython v3.11.2 & refactor hashlib #4835unchangedtest/test_index.pytest/test_int.pyunchangedtest/test_int_literal.pytest/test_interpreters.pyunchangedtest/test_ioctl.pyunchangedtest/test_isinstance.pytest/test_iter.pyunchangedtest/test_iterlen.pytest/test_itertools.pyUpdate test_itertools.py from Cpython v3.11.2 #4836unchangedtest/test_keywordonlyarg.pytest/test_kqueue.pyAdd test_kqueue.py from Cpython v3.11.2 #4837test/test_largefile.pyAdd test_largefile.py from Cpython v3.11.2 #4838CPython specifictest/test_launcher.pytest/test_list.pytest/test_listcomps.pyupdate test_listcomps.py from cpython 3.11.2 #4757test/test_lltrace.pytest/test_long.pyUpdate test_long.py from Cpython v3.11.2 #4840unchangedtest/test_longexp.pytest/test_marshal.pytest/test_math.pyupdate test_math.py from cpython 3.11.2 #4754unchangedtest/test_memoryio.pyunchangedtest/test_memoryview.pytest/test_metaclass.pytest/test_minidom.pytest/test_mmap.pytest/test_module.pyUpdate test_module.py from Cpython v3.11.2 #4842test/test_multibytecodec.pyunchangedtest/test_named_expressions.pytest/test_nis.pytest/test_numeric_tower.pyUpdate test_numeric_tower.py from Cpython v3.11.2 #4843test/test_opcache.pyUpdate test_opcache.py from Cpython v3.11.2 #4844unchangedtest/test_openpty.pytest/test_ordered_dict.pyUpdate test_ordered_dict.py from Cpython v3.11.2 #4846test/test_ossaudiodev.pytest/test_osx_env.pytest/test_patma.pytest/test_peepholer.pytest/test_pep646_syntax.pytest/test_picklebuffer.pytest/test_pkg.pytest/test_poll.pyAdd test_poll.py from Cpython v3.11.2 #4888test/test_popen.pyUpdate test_popen.py from Cpython v3.11.2 #4889test/test_positional_only_arg.pytest/test_posix.pyUpdate test_posix.py from Cpython v3.11.2 #4890test/test_pow.pyUpdate test_pow.py from Cpython v3.11.2 #4891test/test_print.pyadded test_print.py and marked TODOs #4778test/test_property.pyUpdate test_property.py from Cpython v3.11.2 #4892test/test_pulldom.pyAdd test_pulldom.py from Cpython v3.11.2 #4893test/test_pwd.pytest/test_pyexpat.pytest/test_raise.pytest/test_range.pytest/test_readline.pytest/test_regrtest.pytest/test_repl.pytest/test_resource.pytest/test_richcmp.pytest/test_robotparser.pytest/test_sax.pytest/test_scope.pytest/test_script_helper.pytest/test_select.pytest/test_set.py&=and-=operator between Set types do not work correctly. #3992test/test_setcomps.pytest/test_slice.pytest/test_smtpnet.pytest/test_sort.pyupdated test_sort from cpython 3.11.2 #4749test/test_source_encoding.pytest/test_spwd.pytest/test_stable_abi_ctypes.pytest/test_startfile.pytest/test_strftime.pytest/test_string.pyUpdate test_string.py from Cpython v3.11.2 #4751test/test_string_literals.pytest/test_strptime.pytest/test_strtod.pytest/test_structseq.pytest/test_subclassinit.pytest/test_sundry.pytest/test_super.pymetaclassand internal contents ofclasscellin__build_class__#3865test/test_support.pywasiinstead ofunknown#4539test/test_syntax.pyUpdate test_syntax from CPython 3.11.0 #4602test.test_sysUpdate sysconfig, test_sys and test_syslog from CPython 3.11 #4569PYTHONSAFEPATH#4541test/test_sys_setprofile.pytest/test_sys_settrace.pytest/test_syslog.pyUpdate sysconfig, test_sys and test_syslog from CPython 3.11 #4569test/test_tcl.pytest/test_thread.pytest/test_threadedtempfile.pytest/test_threadsignals.pytest/test_time.pytime.strftime(arg)fails when arg is not valid format string #4157test/test_timeout.pytest/test_tix.pytest/test_tuple.pytest/test_type_annotations.pytest/test_type_cache.pytest/test_type_comments.pytest/test_typechecks.pytest/test_types.pyUpdate test/test_types from CPython 3.11.2 #4683test/test_ucn.pytest/test_unary.pytest/test_unicode.pytest/test_unicode_file.pytest/test_unicode_file_functions.pyUpdate test_unicode_file_functions.py from CPython 3.11.2 #4741test/test_unicode_identifiers.pytest/test_unicodedata.pyUpdate test_unicodedata from CPython 3.11.2 #4678unchangedtest/test_univnewlines.pytest/test_unpack.pyUpdate test/test_unpack.py from CPython 3.11.2 #4676test/test_unpack_ex.pytest/test_unparse.pytest/test_userdict.pyUpdate test/test_userlist.py and test_userdict.py from CPython 3.11.2 #4666test/test_userlist.pyUpdate test/test_userlist.py and test_userdict.py from CPython 3.11.2 #4666test/test_userstring.pyUpdate test/test_userstring.py from CPython 3.11.2 #4658unchangedtest/test_utf8_mode.pyunchangedtest/test_utf8source.pytest/test_wait3.pytest/test_wait4.pytest/test_weakset.pyUpdate test/test_weakset.py from CPython 3.11.2 #4657test/test_winconsoleio.pytest/test_winreg.pytest/test_winsound.pytest/test_with.pyUpdate test/test_with.py from CPython 3.11.2 #4648unchangedtest/test_yield_from.pytest/test_zlib.pyUpdate test/test_zlib.py from CPython 3.11.2 #4647test/test_asynciotest/test_capitest/test_importAdd test_import from CPython 3.11.2 #4599test/test_toolsNot yet added libraries
These libraris are not added yet. Pure python one will be possible while others are not.
_bootsubprocess.py_pycodecs.pycProfile.pycrypt.pycursesidlelibimaplib.pyimp.pylzma.pymailcap.pymodulefinder.pymsilibpipes.pypoplib.pypstats.pypyclbr.pysymtable.pytkintertracemalloc.pyturtle.pywave.pyzoneinfo