Skip to content

Sync remaining call, buffer and annotation tests for Python 3.15 - #9433

Merged
youknowone merged 1 commit into
RustPython:mainfrom
youknowdot:sync/lib-disjoint-315-20261028
Oct 28, 2026
Merged

youknowone merged 1 commit into
RustPython:mainfrom
youknowdot:sync/lib-disjoint-315-20261028

Conversation

@youknowdot

Copy link
Copy Markdown
Contributor

Summary

Continue the Python 3.15 library synchronization with four remaining, independently updateable test sources. Each file was processed by scripts/update_lib migrate against final CPython 3.15.0 (d220409a13b77de7a6c30abe16ea90db01528edc).

  • Update test_call with keyword-order checks for functions, methods, and builtin constructors, plus upstream CPython-only stack-test maintenance.
  • Add the two canonical PEP 798 annotation roundtrip cases in test_future_stmt/test_future.
  • Update test_buffer's half/complex format helpers and upstream alignment tests.
  • Incorporate the DragonFly sendfile buffer-size adjustment, preserving the existing RustPython Proactor test override.

The first three files match canonical source exactly. The sendfile file matches canonical source plus its unchanged local override. No native code, new RustPython skips/expected failures, or dependency changes are introduced. Existing CAPI and ndarray capability gates remain intact; this does not add their missing providers.

The remaining hunks are distinct from the historical changes in #9143, #6207, and #8007; none of those PRs' native changes or marker changes are copied.

Validation

  • Exact canonical Git-blob comparison and unchanged local-marker/override checks passed.
  • All 228 updater unit tests passed; all applicable configured hooks and git diff --check passed.
  • Four selected canonical tests passed (4 run, 0 skipped): AnnotationsFutureTestCase.test_annotations and the three new FunctionCalls.test_kwargs_order_preserved* tests.

The selected runtime check used an existing protected RustPython executable built from main 3b0dd785 plus the separate JSON list-read correction in #9431. All tracked native code and Cargo inputs other than that JSON change match this branch's preparation base 5454614b; the tests did not load _json. The executable's SHA-256 was rechecked before the bounded run. This is targeted compatible-baseline evidence, not an exact build of this PR or a runtime result for newer main f862b4b and its native changes. Hosted CI must validate composition with current main.

No whole-module buffer/sendfile suite, local network tests, deep-stack tests, or CAPI tests were run. Buffer helper import/class initialization was reviewed separately: the new complex range entries do not invoke unsupported providers before the existing gates. The absent ndarray/CAPI providers are not claimed as tested capabilities.

AI assistance

OpenAI Codex assisted with source synchronization, comparison, and validation. Commit trailers disclose the assistance.

Run update_lib against final CPython 3.15.0 for four disjoint test sources. Preserve the existing Proactor sendfile override and capability gates.

Assisted-by: OpenAI Codex: model version unavailable
@coderabbitai

coderabbitai Bot commented Oct 28, 2026 •

Copy link
Copy Markdown
Contributor

Important

Review skipped

Review was skipped due to path filters

⛔ Files ignored due to path filters: 4
  • Lib/test/test_asyncio/test_sendfile.py is excluded by !Lib/**
  • Lib/test/test_buffer.py is excluded by !Lib/**
  • Lib/test/test_call.py is excluded by !Lib/**
  • Lib/test/test_future_stmt/test_future.py is excluded by !Lib/**

CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including **/dist/** will override the default block on the dist directory, by removing the pattern from both the lists.

Run configuration

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@youknowone
youknowone marked this pull request as ready for review October 28, 2026 14:21
@youknowone
youknowone enabled auto-merge (squash) October 28, 2026 14:21
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 28, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ⚠️ Failed 2026-10-28T14:22:38.076367Z
We couldn’t complete this review. Comment @codex review to try again.
5dd97fd Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@github-actions

Copy link
Copy Markdown
Contributor

📦 Library Dependencies

The following Lib/ modules were modified. Here are their dependencies:

[x] test: cpython/Lib/test/test_buffer.py

dependencies:

dependent tests: (no tests depend on buffer)

[x] lib: cpython/Lib/json
[ ] test: cpython/Lib/test/test_json (TODO: 2)

dependencies:

  • json

dependent tests: (20 tests)

  • json: test_embed test_interpreters test_json test_logging test_plistlib test_profiling test_pydoc test_pyrepl test_remote_pdb test_subprocess test_sysconfig test_tomllib test_tools test_traceback test_zoneinfo
    • importlib.metadata: test_importlib
    • multiprocessing.resource_tracker: test_concurrent_futures
    • pdb: test_pdb
    • profiling: test_profiling
      • cProfile: test_pstats

[x] lib: cpython/Lib/tracemalloc.py
[ ] test: cpython/Lib/test/test_tracemalloc.py (TODO: 1)

dependencies:

  • tracemalloc

dependent tests: (2 tests)

  • tracemalloc: test_inspect test_tracemalloc

[ ] test: cpython/Lib/test/test_tools

dependencies:

dependent tests: (no tests depend on tools)

[x] lib: cpython/Lib/future.py

dependencies:

  • future

dependent tests: (126 tests)

  • future: test_flufl test_future_stmt test_generator_stop test_pydoc test_zoneinfo
    • codeop: test_codeop
      • pdb: test_pdb test_remote_pdb
      • traceback: test_asyncio test_builtin test_code_module test_concurrent_futures test_contextlib test_contextlib_async test_coroutines test_crossinterp test_dictcomps test_exceptions test_http_cookiejar test_importlib test_iter test_listcomps test_pyexpat test_setcomps test_socket test_ssl test_subprocess test_sys test_threadedtempfile test_threading test_traceback test_unittest test_with test_zipimport
    • importlib: test_asdl_parser test_bdb test_cmd_line_script test_codecs test_compileall test_ctypes test_doctest test_external_inspection test_frozen test_hashlib test_importlib test_inspect test_interpreters test_linecache test_modulefinder test_multiprocessing_main_handling test_pkgutil test_py_compile test_pyclbr test_pyrepl test_reprlib test_runpy test_source_encoding test_sundry test_support test_tomllib test_tools test_unittest test_zipfile test_zoneinfo
      • ctypes.util: test_ctypes
      • ensurepip: test_ensurepip test_venv
      • idlelib: test_idle
      • inspect: test_abc test_argparse test_asyncgen test_buffer test_clinic test_code test_collections test_curses test_decimal test_enum test_free_threading test_functools test_generators test_grammar test_monitoring test_ntpath test_operator test_patma test_posixpath test_profiling test_signal test_sqlite3 test_turtle test_type_annotations test_type_params test_types test_typing test_unittest test_yield_from test_zipimport_support
      • profile: test_profile
      • profiling: test_profiling
      • py_compile: test_importlib
      • sysconfig: test_c_locale_coercion test_cmd_line test_dtrace test_embed test_gc test_importlib test_launcher test_os test_osx_env test_peg_generator test_perfmaps test_regrtest test_site test_sysconfig test_tempfile test_time test_tools test_urllib2net
      • zipfile: test_shutil test_zipapp test_zipfile test_zipfile64
      • zipimport: test_importlib
    • pydoc:
      • xmlrpc.server: test_docxmlrpc test_xmlrpc

[x] lib: cpython/Lib/tkinter
[x] test: cpython/Lib/test/test_tkinter
[x] test: cpython/Lib/test/test_ttk
[x] test: cpython/Lib/test/test_ttk_textonly.py
[x] test: cpython/Lib/test/test_tcl.py

dependencies:

  • tkinter

dependent tests: (7 tests)

  • tkinter: test_genericalias test_pyrepl test_tcl test_tkinter test_ttk test_ttk_textonly
    • idlelib: test_idle

[ ] test: cpython/Lib/test/test_list.py
[x] test: cpython/Lib/test/test_listcomps.py
[ ] test: cpython/Lib/test/test_userlist.py

dependencies:

dependent tests: (no tests depend on list)

[ ] test: cpython/Lib/test/test_bigmem.py

dependencies:

dependent tests: (no tests depend on bigmem)

[x] test: cpython/Lib/test/test_math.py (TODO: 1)
[x] test: cpython/Lib/test/test_math_integer.py
[x] test: cpython/Lib/test/test_math_property.py

dependencies:

dependent tests: (266 tests)

  • math: test_abstract_numbers test_asyncio test_builtin test_cmath test_compile test_complex test_ctypes test_decimal test_descr test_float test_fractions test_funcattrs test_json test_long test_math test_math_integer test_math_property test_monitoring test_numeric_tower test_pow test_random test_socket test_statistics test_struct test_time test_zipfile
    • fractions: test_buffer test_compare test_itertools test_operator test_os test_string
      • statistics: test_signal
    • profiling.sampling.heatmap_collector: test_profiling
    • random: test_asyncio test_bisect test_bz2 test_collections test_context test_dbm_dumb test_deque test_devpoll test_dict test_email test_free_threading test_functools test_grp test_heapq test_hmac test_importlib test_int test_io test_logging test_lzma test_mmap test_ordered_dict test_poll test_posixpath test_pprint test_profiling test_pwd test_queue test_regrtest test_richcmp test_selectors test_set test_shutil test_sort test_strtod test_sys test_tarfile test_thread test_threading test_tokenize test_traceback test_unparse test_uuid test_weakref test_zipfile test_zlib test_zstd
      • email.generator: test_email
      • email.utils: test_httpservers test_smtplib test_urllib2
      • imaplib: test_imaplib
      • secrets: test_secrets
      • tempfile: test_argparse test_ast test_asyncio test_bytes test_cmd_line test_compileall test_concurrent_futures test_contextlib test_csv test_ctypes test_curses test_dis test_doctest test_dtrace test_embed test_ensurepip test_faulthandler test_filecmp test_fileinput test_generated_cases test_genericalias test_hashlib test_importlib test_inspect test_interpreters test_launcher test_linecache test_mailbox test_modulefinder test_multiprocessing_forkserver test_ntpath test_os test_pathlib test_peg_generator test_pickle test_pickletools test_pkg test_pkgutil test_profiling test_pstats test_py_compile test_pydoc test_pyrepl test_readline test_runpy test_shlex test_site test_source_encoding test_string_literals test_subprocess test_support test_sys_settrace test_tabnanny test_tempfile test_termios test_threadedtempfile test_tomllib test_turtle test_urllib test_urllib_response test_venv test_wave test_winconsoleio test_zipapp test_zipfile64 test_zoneinfo
      • uuid: test_os
    • reprlib: test_reprlib
      • bdb: test_bdb test_pdb
      • collections: test_annotationlib test_array test_asyncio test_c_locale_coercion test_call test_configparser test_contains test_copy test_ctypes test_defaultdict test_dictviews test_enum test_exception_group test_frame test_hash test_io test_ipaddress test_iter test_iterlen test_json test_opcache test_pathlib test_patma test_plistlib test_shelve test_sqlite3 test_tkinter test_tuple test_type_cache test_types test_typing test_unittest test_userdict test_userlist test_userstring test_weakset test_with
      • dataclasses: test__colorize test_ctypes
    • selectors: test_asyncio
      • pdb: test_remote_pdb
      • socket: test_asyncio test_epoll test_exception_hierarchy test_external_inspection test_ftplib test_httplib test_io test_kqueue test_poplib test_pty test_smtpnet test_socketserver test_ssl test_stat test_timeout test_urllib2net test_urllibnet test_xmlrpc
      • socketserver: test_wsgiref
      • subprocess: test_android test_asyncio test_atexit test_audit test_cmd_line_script test_concurrent_futures test_ctypes test_file_eintr test_gc test_gzip test_json test_msvcrt test_osx_env test_platform test_profiling test_pyrepl test_quopri test_repl test_script_helper test_select test_sysconfig test_tcl test_tkinter test_tstring test_unittest test_utf8_mode test_wait3 test_webbrowser test_xpickle
    • urllib.parse: test_http_cookies test_urllib2_localnet test_urlparse
      • http: test_docxmlrpc test_http_cookiejar test_robotparser test_ucn test_unicodedata test_xml_dom_xmlbuilder
      • logging.handlers: test_concurrent_futures
      • mimetypes: test_mimetypes
      • pathlib: test_dbm_sqlite3 test_importlib test_netrc test_pathlib test_tomllib test_tools test_winapi test_zipfile
      • xml.sax.saxutils: test_sax

[x] test: cpython/Lib/test/test_call.py

dependencies:

dependent tests: (no tests depend on call)

[x] lib: cpython/Lib/asyncio
[ ] test: cpython/Lib/test/test_asyncio (TODO: 2)

dependencies:

  • asyncio

dependent tests: (9 tests)

  • asyncio: test_asyncio test_concurrent_futures test_external_inspection test_inspect test_logging test_os test_pdb test_unittest
    • pdb: test_remote_pdb

Legend:

  • [+] path exists in CPython
  • [x] up-to-date, [ ] outdated

@youknowone
youknowone merged commit 1cd8f44 into RustPython:main Oct 28, 2026
21 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants