Repository navigation
Sync ten Python format and utility modules with Python 3.15 - #9144
Conversation
Migrate dependency-ordered linecache, locale, _pydecimal, decimal, random, uuid, wave, _strptime, zipapp and poplib with their canonical tests and WAV fixtures using update_lib. Assisted-by: OpenAI Codex:model version unavailable
|
Note Currently processing new changes in this PR. This may take a few minutes, please wait... ⚙️ Run configuration
⛔ Files ignored due to path filters: 24
📒 Files selected for processing: 2
✨ 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: :4: SyntaxWarning: invalid decimal literal dependencies:
dependent tests: (76 tests)
[x] lib: cpython/Lib/wave.py dependencies:
dependent tests: (1 tests)
[x] lib: cpython/Lib/linecache.py dependencies:
dependent tests: (150 tests)
[x] lib: cpython/Lib/datetime.py dependencies:
dependent tests: (67 tests)
[x] lib: cpython/Lib/random.py dependencies:
dependent tests: (141 tests)
[x] lib: cpython/Lib/zipapp.py dependencies:
dependent tests: (2 tests)
[x] lib: cpython/Lib/poplib.py dependencies:
dependent tests: (1 tests)
[x] lib: cpython/Lib/locale.py dependencies:
dependent tests: (105 tests)
[x] lib: cpython/Lib/uuid.py dependencies:
dependent tests: (2 tests)
[x] lib: cpython/Lib/warnings.py dependencies:
dependent tests: (53 tests)
[x] test: cpython/Lib/test/test_time.py dependencies: dependent tests: (251 tests)
Legend:
|
Merging this PR will not alter performance
Comparing Footnotes
|
Generate complete dependent tests and pure datetime through update_lib from CPython d220409a13b77de7a6c30abe16ea90db01528edc. Preserve the existing tracemalloc expected failure. Pass warning module metadata to WarningMessage, use sys context after stack exhaustion, and identify invalid category classes with the existing qualified-name helper. Assisted-by: OpenAI Codex:model version unavailable
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. |
Scope
Continue splitting #8954. The initial import covers these ten changed Python modules, ordered dependency-first:
linecachelocale_pydecimaldecimalrandomuuidwave_strptimezipapppoplibdecimalis the public wrapper and_pydecimalits separately changed implementation. The random/uuid/zipapp changes are small CLI updates, not algorithm rewrites.The initial 26 canonical paths were migrated through actual
scripts/update_lib migrate: 20 individual Python paths and the audited six-WAV fixture directory. Source: CPython finald220409a13b77de7a6c30abe16ea90db01528edc. All 26 files are byte-identical to that source; six remain unchanged. Initial delta: 19 text files (+836/-225) plus the new 26,514-byte float WAV. Canonical guards are preserved; no manual Lib edits or marker workarounds.Dependent CI repair
Repair commit
c9a73cd85ac22b1cc1d2608ad37172ce284ab221aligns the dependent tests exposed by the finallinecacheand_strptimeimports. The previous loader/spec warning counts and leap-year/invalid-directive expectations were from older CPython behavior.Four complete files were imported from the same CPython final commit through actual
scripts/update_libcommands:copy-libforLib/_pydatetime.py, including the canonical ISO-format validation needed by the updated tests.migrateforLib/test/test_time.py,Lib/test/datetimetester.py, andLib/test/test_warnings/__init__.py.The first three files are byte-identical to final. The warnings test file differs only by its sole pre-existing tracemalloc expected-failure marker, preserved by the migration. No new skips or expected-failure markers were added.
Three narrow native warning prerequisites accompany those imports:
WarningMessageargument.syscontext when the warning stack walk is exhausted.No native datetime implementation changes are included.
Validation
Repair head
c9a73cd85ac22b1cc1d2608ad37172ce284ab221threading,stdlib,stdio,importlib,host_env.compiler,gc,host_env,stdio,importlib,encodings,threading, and-D warnings.TestDateTime_{Pure,Fast}.test_microsecond_rounding_{decimal,fraction}. The unchanged canonical decorator reportstzset requiredbecause the nativetimemodule does not exposetzset. These four numerical test bodies were not executed. No other skips, expected failures, or unexpected successes were accepted.-B -S, optimize=0, a private temporary directory, C locale, a 30-second wall limit, 1 GiB address-space limit, and 16 MiB combined output cap. No source drift or resource-cap failure occurred.Initial import validation at
a3e5f2d166ecde93b97e13e83d93fecd5dc9e5d0a3e5f2d166ecde93b97e13e83d93fecd5dc9e5d0.threading,stdlib,stdio,importlib,host_envand no default features. Native Rust was unchanged at that initial head. This is not ABI3t or freeze-stdlib conformance certification.-S/-B, optimize=0, private temporary directories, C locale, 30-second deadline plus 5-second kill grace, 1 GiB virtual memory and bounded combined output. Zero skips/xfails/XPASS.No full test-suite, statistical/thread/GC stress, UUID hardware discovery, network-server or C-decimal coverage is claimed. Draft pending CI and review; no merge requested.