Skip to content

Update Python 3.15 test harness helpers and discovery - #9364

Merged
youknowone merged 1 commit into
RustPython:mainfrom
youknowdot:split/python315-test-harness
Oct 25, 2026
Merged

youknowone merged 1 commit into
RustPython:mainfrom
youknowdot:split/python315-test-harness

Conversation

@youknowdot

Copy link
Copy Markdown
Contributor

Split the canonical Python 3.15 test-harness updates out of #8954, using CPython d220409a13b77de7a6c30abe16ea90db01528edc and the official updater.

  • Preserve helper metadata, check _pyrepl availability before forcing colors, and re-enable the canonical original-stdout regression test.
  • Schedule the existing test_io and test_os submodules independently. Their package loaders only delegate generic discovery; the absent test_free_threading package remains dormant.
  • Preserve main's isolation regression tests, support adapters and recursion-crash marker. Leave list_tests.py unchanged because its limited-stack policy is not interchangeable with CPython's C-stack check.

Validation: a fresh Linux release CLI build on b7bebe6 passed, followed by nine selected existing support/difflib tests (9 passed, no skips). Official migration was byte-idempotent, and normal hooks passed without changes. No full-suite, discovery-runtime, native lifecycle, or new hash-class validation is claimed. The imported hash-helper class still requires the unavailable _hmac backend.

AI assistance: OpenAI Codex (model version unavailable).

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

coderabbitai Bot commented Oct 25, 2026 •

Copy link
Copy Markdown
Contributor

Important

Review skipped

Review was skipped due to path filters

⛔ Files ignored due to path filters: 3
  • Lib/test/libregrtest/findtests.py is excluded by !Lib/**
  • Lib/test/support/__init__.py is excluded by !Lib/**
  • Lib/test/test_support.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.

@github-actions

Copy link
Copy Markdown
Contributor

📦 Library Dependencies

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

[ ] lib: cpython/Lib/profiling
[ ] test: cpython/Lib/test/test_profiling

dependencies:

  • profiling (native: main, _child_monitor, _css_utils, _format_utils, _lsprof, _remote_debugging, binary_collector, binary_reader, cli, collector, constants, display, dump, errors, gecko_collector, heatmap_collector, importlib.machinery, importlib.resources, importlib.util, itertools, jsonl_collector, live_collector, marshal, math, module_utils, opcode_utils, profiling.tracing, profiling.tracing._utils, pstats_collector, sample, stack_collector, string_table, sys, time, trend_tracker, widgets)
    • curses (native: _curses, _curses_panel, curses.ascii, has_key, sys)
    • io (native: _io, _thread, errno, msvcrt, sys)
    • opcode (native: _opcode, builtins)
    • platform (native: _wmi, itertools, sys, vms_lib, winreg)
    • site (native: _io, _pyrepl.main, _pyrepl.pager, _pyrepl.readline, _pyrepl.unix_console, _pyrepl.windows_console, atexit, builtins, errno, readline, sitecustomize, sys, usercustomize)
    • sysconfig (native: _sysconfig, _winapi, importlib.machinery, importlib.util, os.path, sys)
    • _colorize, abc, argparse, base64, collections, contextlib, dataclasses, functools, html, json, linecache, locale, optparse, os, pathlib, pstats, re, runpy, selectors, socket, statistics, subprocess, tempfile, threading, traceback, types, typing, uuid, webbrowser

dependent tests: (3 tests)

  • profiling: test_profiling
    • cProfile: test_cprofile test_pstats

[ ] lib: cpython/Lib/test/support
[ ] test: cpython/Lib/test/test_support.py (TODO: 1)
[x] test: cpython/Lib/test/test_script_helper.py

dependencies:

  • support (native: main, _hashlib, _helpers, _imp, _interpchannels, _opcode, _remote_debugging, _testcapi, _testinternalcapi, _testlimitedcapi, _thread, _winapi, asyncio.events, collections.abc, concurrent.interpreters, concurrent.interpreters._crossinterp, ctypes.wintypes, email._header_value_parser, errno, faulthandler, gc, hypothesis, hypothesis.configuration, hypothesis.database, import_helper, importlib.machinery, importlib.util, logging.handlers, marshal, math, msvcrt, os.path, os_helper, pwd, resource, script_helper, select, setuptools, setuptools._distutils, sys, time, unicodedata, unittest.case, unittest.mock, urllib.error, urllib.parse, urllib.request, zlib)
    • unittest (native: _io, _log, async_case, builtins, case, loader, main, os.path, result, runner, signals, suite, sys, time, unittest.util, util)
    • io, opcode, platform, sysconfig
    • _colorize, _pyrepl, annotationlib, ast, bz2, codecs, collections, compression, contextlib, ctypes, dataclasses, datetime, decimal, dis, enum, functools, getopt, getpass, glob, gzip, importlib, inspect, locale, logging, lzma, multiprocessing, os, pathlib, py_compile, re, selectors, shlex, shutil, signal, smtplib, socket, stat, string, struct, subprocess, tempfile, textwrap, threading, tkinter, tracemalloc, types, venv, warnings, zipfile

dependent tests: (2 tests)

  • support: test_pathlib test_pyrepl

Legend:

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

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

chatgpt-codex-connector Bot commented Oct 25, 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-25T12:32:59.895825Z
We couldn’t complete this review. Comment @codex review to try again.
5003335 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.

@youknowone
youknowone merged commit 0dca682 into RustPython:main Oct 25, 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