-
Notifications
You must be signed in to change notification settings - Fork 0
Closed
Description
Title: Improve type precision in libregrtest excepthook, export clinic.cpp module in all, enhance Dependabot update frequency and rebasing, and fix test_compute_changes logic
Problem / Motivation
Several developer-experience and maintenance issues exist in the current fork:
- The type annotation for the optional
excepthookargument inLib/test/libregrtest/utils.pyusesAny | None, which defeats most benefits of static type checking in that area. - The
cppmodule insideTools/clinic/libclinicis imported and used internally but is not present in__all__, so it is not formally exported and may confuse type checkers or linters that respect__all__. - Dependabot is currently configured for monthly updates with no automatic rebasing strategy, which leads to delayed dependency updates and frequent manual conflict resolution during CI.
- A small logic bug exists in the test suite file
Lib/test/test_tools/test_compute_changes.pythat can produce incorrect test outcomes under certain conditions. - Fork-specific files (CODEOWNERS, selected GitHub Actions workflows) contain minor outdated or redundant entries.
Proposed Improvements
- Replace the loose type
Any | Nonewith the exact signatureCallable[[threading.ExceptHookArgs], None] | Nonefor the excepthook parameter inlibregrtest/utils.py. - Explicitly add
"cpp"to__all__inTools/clinic/libclinic/__init__.py(and ensure the import remains). - Update
.github/dependabot.yml:- Change
schedule.intervalfrom monthly → weekly - Add
rebase-strategy: autoto reduce merge conflicts
- Change
- Apply small clean-ups to fork-specific:
.github/CODEOWNERS- Three workflow files under
.github/workflows/
- Correct the conditional logic bug present in
Lib/test/test_tools/test_compute_changes.py.
Scope & Impact
- All changes are strictly limited to:
• Test suite infrastructure
• Argument Clinic tooling
• Static type annotations
• Dependency update automation (Dependabot)
• Fork-specific CI configuration - No changes are made to:
• Interpreter core
• Standard library public API
• Any compiled extension module
• Any runtime behaviour
Checklist
- All tests pass on the three main GitHub-hosted runners (ubuntu-latest, windows-latest, macos-latest)
- mypy, pyright and pytype type checkers report no new errors
- Sourcery and CodeRabbit automated reviews applied and resolved
- Docstring coverage warning is acknowledged (planned separate improvement)
Additional context
This set of changes was developed and reviewed in PR #36 (zrsx/cpython).
All modifications aim to bring developer tooling closer to upstream CPython quality standards while keeping the fork maintainable.
Thanks in advance for any feedback or review.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels