Repository navigation
Sync canonical Python 3.15 gated test sources and Lib metadata - #9369
Conversation
Assisted-by: OpenAI Codex: model version unavailable
|
Important Review skippedReview was skipped due to path filters ⛔ Files ignored due to path filters: 23
CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including
|
📦 Library DependenciesThe following Lib/ modules were modified. Here are their dependencies: [x] lib: cpython/Lib/pickle.py dependencies:
dependent tests: (100 tests)
[x] test: cpython/Lib/test/test_android.py dependencies: dependent tests: (no tests depend on android) [ ] lib: cpython/Lib/profiling dependencies:
dependent tests: (3 tests)
[x] lib: cpython/Lib/urllib dependencies:
dependent tests: (107 tests)
[x] lib: cpython/Lib/ctypes dependencies:
dependent tests: (37 tests)
[x] test: cpython/Lib/test/test_type_cache.py dependencies: dependent tests: (no tests depend on type_cache) [x] lib: cpython/Lib/wsgiref dependencies:
dependent tests: (1 tests)
[x] test: cpython/Lib/test/test_opcache.py dependencies: dependent tests: (no tests depend on opcache) [x] lib: cpython/Lib/asyncio dependencies:
dependent tests: (9 tests)
[ ] lib: cpython/Lib/concurrent dependencies:
dependent tests: (19 tests)
[x] test: cpython/Lib/test/test_remote_pdb.py dependencies: dependent tests: (no tests depend on remote_pdb) [x] lib: cpython/Lib/uuid.py dependencies:
dependent tests: (3 tests)
Legend:
|
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
Summary
Split the canonical interpreter-test source distribution and small Lib source/metadata cleanups out of #8954. This is source synchronization, not interpreter lifecycle support or runtime validation.
Sync
test_interpretersand_crossinterp_definitions.py, plus the comment-onlytest.support.channelsupdate.Bring three production comment-only changes (
asyncio.staggered,urllib.error,wsgiref.handlers) and thesite-packages/README.txtpackaging file to canonical source.Remove the unused pickletools doctest checker, preserving the existing
expectedFailureforwarding override (decorator, method, and return). Existing doctest selection is unchanged.Restore canonical executable metadata for
test_uuid.py; its bytes are unchanged.Sync canonical opcache, remote-pdb, Android and type-cache test sources under their existing gates; remove the already unconditionally skipped obsolete IMDb test and narrow the existing ctypes GNU IFUNC predicate to exclude parisc.
Relocate the picklebuffer marker reason through the official updater only, preserving its existing
expectedFailure, identical reason, and complete AST.Provenance and activation boundary
Canonical source: CPython
d220409a13b77de7a6c30abe16ea90db01528edc, through narrowly targetedscripts/update_libmigration/copy operations. All 23 paths have canonical bytes and modes except the intentionally retained, pre-existing pickletools forwarding override and picklebuffer expectedFailure/reason adaptation. UUID is a metadata-only correction.The upstream
test_interpreterspackage already raisesSkipTest("GIL disabled")before itsload_testshook or submodule imports. Current bundled Linux/macOS and Windows sysconfig providers reportPy_GIL_DISABLED=1; the existing regrtest selection treats this as a package, so that canonical gate precedes the newly distributed tests. No skip, runner, workflow, or native implementation is added or changed. Custom sysconfig overrides or future configuration changes may alter that gate; this is a static source/CI audit, not an executed skip claim.Deliberately excluded: standalone
test__interpreters.pyandtest__interpchannels.py(would activate low-level lifecycle tests),test_crossinterp.py(requires unavailable fixture functionality), and the production_queues.pyeager-pickle-import change. No fixture activation or recreation of #9143.The additional test-source gates are unchanged: opcache skips non-CPython before fixture use; remote-pdb skips when
sys.is_remote_debug_enabled()is false (constant false in the current VM); Android skips non-Android before its new API-level lookup; type-cache skips when_testcapiis absent, before fixture dereferences._testinternalcapiexists and is distinct from the absent_testcapi; supplying an incomplete external_testcapichanges that boundary. The latercpython_onlydecorators do not protect those earlier dereferences.These files are not import-inert: ordinary imports precede the gates. In particular, remote-pdb imports pdb/threading/optional pty, pdb tracing may open a file when
PYREPL_TRACEis configured (not set by current CI), and existing Windows support imports may load kernel32. No pre-gate remote-debug operation or process/thread/pty startup was found. The static gate audit applies to current supported CI configurations, not arbitrary custom configurations, Android runtime correctness, or new feature support.Validation
cargo check --locked --offline --bin rustpython— passed.cargo check --locked --offline --features freeze-stdlib --bin rustpython— passed.Both final23 compile-only checks used the same independently reviewed full-source/tool/config binding and bounded single-job guard. Source, modes, tools and protected artifacts remained unchanged; no child processes remained afterward. No RustPython runtime, lifecycle, GC, threading, stress, or fixture tests were run. This draft does not claim those capabilities work.
Assisted by OpenAI Codex (model version unavailable).