Repository navigation
Align mapping collection and call unpacking with Python 3.15 - #9302
Conversation
Preserve iterator exceptions and exact-list results when collecting mapping methods, defer callable formatting, and retain exact-dict stored hashes. Synchronize complete test_extcall with CPython v3.15.0. Assisted-by: Codex:unknown
|
Note Currently processing new changes in this PR. This may take a few minutes, please wait... ⚙️ Run configuration
⛔ Files ignored due to path filters: 7
📒 Files selected for processing: 3
✨ Finishing Touches
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. Comment |
📦 Library DependenciesThe following Lib/ modules were modified. Here are their dependencies: [ ] test: cpython/Lib/test/test_cmd_line_script.py (TODO: 1) dependencies: dependent tests: (no tests depend on cmd_line_script) [x] lib: cpython/Lib/pickle.py dependencies:
dependent tests: (98 tests)
[x] lib: cpython/Lib/pickletools.py dependencies:
dependent tests: (1 tests)
[x] test: cpython/Lib/test/test_extcall.py dependencies: dependent tests: (no tests depend on extcall) Legend:
|
Synchronize the six coherent serialization modules with CPython v3.15.0 through update_lib, retaining existing RustPython adaptations. Assisted-by: Codex:unknown
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. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 037a665fb1
ℹ️ 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".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| Traceback (most recent call last): | ||
| ... | ||
| TypeError: test.test_extcall.g() argument after * must be an iterable, not Nothing | ||
| TypeError: Value after * must be an iterable, not Nothing |
There was a problem hiding this comment.
Revert the forbidden expected-output edits
This rewrites a doctest expected result, and the commit does the same throughout the synchronized test files, but the repository's critical test policy explicitly forbids modifying assertions, logic, or data and limits test-file changes to expected-failure decorators. Leave the test body and expectation intact and use the permitted marker instead so the change follows the required test-modification workflow.
AGENTS.md reference: AGENTS.md:L276-L282
Useful? React with 👍 / 👎.
Summary
Split mapping collection, call-unpacking compatibility, and their canonical pickle-library dependency out of #8954, targeting CPython v3.15.0 (
d220409a13b77de7a6c30abe16ea90db01528edc).test_extcall,pickle,pickletools,picklecommon,pickletester,test_pickle, andtest_pickletoolsmodules throughscripts/update_lib. Retain existing RustPython decorators and the existingDocTestCheckerblock through the updater's reviewed-block mechanism. No manual assertion edits or new skips.CI exposed why these changes must travel together: the old
pickletester.test_bad_newobj_ex_argsstill expectedfunctools.partial() argument after ** ..., while final CPython's test and_PyEval_FormatKwargsErrorboth useValue after ** .... The native diagnostic is retained; the complete canonical library dependency is synchronized instead of weakening the test or reverting the Python 3.15 behavior.This is independent of #8944's ownership changes. No additional native changes were needed for the CI repair; the six pickle-related modules were regenerated and added as a dependent commit.
Validation
980defeed312058286e63883fd8fe0659d289416, on tested base5927ce6e1a6ed00187723510b224514c0a779e57.PyPicklingErrorTests.test_bad_newobj_ex_args, private-method/nested-class tests on Python/native picklers, and disassembly/CLI tests. Zero skips, expected failures or unexpected successes. Whole isolated invocation: 4.64s, 153.4 MiB peak sampled process-group RSS.test_extcallpassed again with the combined libraries: six doctest suites and 194 source-bound examples. Separate isolated invocation: 4.09s, 133.7 MiB peak sampled process-group RSS.The earlier 17-case differential and the initial pre-library
test_extcallrun remain historical evidence, not reruns on this combined tree. Full pickle/pickletools modules, oversized/malformed/sparse-memo and recursive cases, workspace/C-API aggregate suites and cross-platform integration remain unverified locally. Hosted CI must establish the combined change's integration status.AI-assisted implementation, source comparison and validation using OpenAI Codex.