Repository navigation
Conversation
b5e232d to
ecfb053
Compare
|
Coverage: 91.54% (unit tier, Python 3.15,
Per-file detail: the |
ecfb053 to
d4db362
Compare
|
First CI run at All 13 failures are the known ones:
This stays a draft until both land. |
|
resolve conflicts. Unit tests failed. |
d4db362 to
4aa36ad
Compare
|
Rebased onto The failing unit test is the |
4aa36ad to
2df292e
Compare
|
Rebased onto
I'll take this out of draft once the PyPy legs are green on this head. Their run is the first real check of |
|
what's it's waiting for to publish? and resolve conflicts |
|
It was waiting on the Ubuntu 26.04 runner failures. All four of this PR's own PyPy legs were already green at
I'm rebasing onto |
2df292e to
bc4bb35
Compare
|
Rebased onto Git reported a clean rebase, but it had applied the +33 |
|
GOOD TO GO at A Sonnet cross-review confirmed:
I corrected three stale points in the review:
The only expected conflict is the Not yet verified:
|
…#1958, #2005) - `test`/`integration` gain a blocking `pypy3.11` leg and the KTLO jobs a `pypy3.10` leg, from the matrix util/python_versions.py builds; they run the same ALL selection, caps and timeouts as the other non-latest legs. - PyPy workers grow steadily to about 5.8 GB each, so a PyPy leg runs the tier as several pytest invocations (`SHARDS`: tests/protocols, tests/corekit, then the rest), each starting fresh workers. - pcapkit imports on PyPy 8.0: a PyPy-gated aenum workaround for the builtin `NoneType` in pcapkit/utilities/compat.py. - `lxml` is CPython-only in the test extra and Pipfile; it has no PyPy wheel and only LATEST modules use it. - Interpreter-limit failures gated on `sys.implementation.name`. Project pins and docs updated; the touched pins pass.
- unit-tests.yml `test` / `Run unit tests`: the PyPy leg's inline shard loop becomes `python util/cap_file_size.py python util/pytest_shards.py "$SHARDS" -- python -m pytest "$@"`, #1963's script, on the leg's own interpreter (the #1969 pin requires the cap to exec `python`). Same runs, JUnit names and exit status; later shards also ignore earlier ones, and no run starts after SIGINT. - Pins: 1732's STUB runs the script on the real interpreter and `unsharded` accepts the earlier-shard ignores; 2005's test checks the invocation and each run's JUnit file. - workflows.rst: the PyPy paragraph and the Workflow Scripts row name the script; the `unit-tests.yml:NNNN` citations move 6 lines up (checked by content), here and in releasing.rst.
bc4bb35 to
f24c1b1
Compare
|
Rebased onto |
|
Ordering check, since the "Plain unittest ordering" job is skipped on PRs. I ran every leg of it, sequentially and with CI's own command, on
The KTLO legs report 0 failing test ids across 15 legs. |
make pylint,make mypy,make isort)make testpasses, and a test case covers the changeWhat is the purpose of your pull request?
ci— workflows or build toolingDescription of your pull request and other information
Draft. This is #1958 phase 3. The blocking
pypy3.11leg stays red until #2003 and #2004 land.PyPy now runs the curated
ALLtier from the matrix thatutil/python_versions.pybuilds:testandintegrationgain apypy3.11leg, which blocks throughRequired checks passed, so no ruleset change is needed.test-ktloandintegration-ktlogain apypy3.10leg.The legs use the same steps, caps and selection as the other non-latest legs.
Needed to run at all:
NoneType. A PyPy-gated workaround is inpcapkit/utilities/compat.py, with a test that fails on PyPy without it.lxmlis now CPython-only inpyproject.tomlandPipfile. It has no PyPy Linux wheel, and onlyLATESTmodules use it.sys.implementation.name, following the GraalPy gates in fix(utilities): leave GraalPy's bootstrap frames out of the importer's level, and gate its remaining limits (#1963) #1996.PyPy 8.0.1 results, run in an Ubuntu 24.04 container:
ALL: green.ALL: the remaining failures are fix(protocols): Info field order follows PyPy's attribute layout, not the declared fields #2003 (Info field order) and fix(corekit): a bytearray value fails to pack into an s field on PyPy #2004 (bytearrayintosfields). Workers grew steadily to about 5.8 GB each and were OOM-killed (ci: PyPy workers on the ALL tier grow until they are OOM-killed #2005). A PyPy leg now runs the tier as separate pytest invocations:tests/protocols,tests/corekit, then the rest. Each invocation starts fresh workers. Measured in a 14 GB container, workers peak at 2.6 GB and the container at 8.5 GB. There are no OOM kills, and the whole tier takes 383 s, against 493 s before.Part of #1958. Closes #2005