Skip to content

ci(unit-tests): run the whole suite on latest CPython (#1958) - #1976

Merged
JarryShaw merged 2 commits into
mainfrom
ci/1958-whole-suite-latest
Oct 20, 2026
Merged

JarryShaw merged 2 commits into
mainfrom
ci/1958-whole-suite-latest

Conversation

@JarryShaw

@JarryShaw JarryShaw commented Oct 20, 2026 •

Copy link
Copy Markdown
Owner

What is the purpose of your pull request?

  • ci — workflows or build tooling

Description of your pull request and other information

#1958 phase 2 (rulings C and E). On latest CPython, test, integration and project-tests together run the whole suite, and each installs everything the suite gates on, so the tests that ran nowhere get a job.

  • test and integration gain a latest-only step, "Install the whole suite's dependencies on latest", installing .[test,Scapy,DPKT,crypto,cli,NGAP,vendor,docs,PyShark]. project-tests and gate install the same set. Other legs keep their install line.
  • Newly reached on latest: the runtime-engines test, the Scapy-gated tests outside gate, the html5lib vendor tests, the Sphinx/docutils/furo docs tests, and the PyShark gates.
  • tests/_dependency_gates.py reads the new step as the latest leg's extras and drops the exclusions it closes. PCAP_CT (needs system libpcap; engine-tests covers it) and PyPCAP/PyPCAPFile (do not install on 3.12+) stay excluded. The mypy/pylint-gated tests still run in no pytest job, unchanged here; they are lint tools no extra declares.
  • No selection step changes, so every leg selects the same tests as before.
  • tests/project/test_whole_suite_on_latest_1958.py pins the new install set. It fails on main and passes here.

The review ran the PyShark, Sphinx and html5lib modules, the fixture tier and the project pins on a fresh 3.15 venv with exactly these extras and no tshark on PATH. There were no failures.

Refs #1958

- test, integration: a step on the latest leg alone installs the whole
  suite's extras (Scapy, PyShark, vendor, docs, cli on top of the base);
  every other leg keeps its install line and runs the ALL tier.
- project-tests, gate: install the same set.
- tests/_dependency_gates.py: read a latest-only install step as that
  leg's extras; drop the exclusions it closes (HAS_SCAPY, HAS_PYSHARK,
  HAS_RUNTIME, HAS_VENDOR_DEPS, HAS_SPHINX, HAS_DOCUTILS, HAS_FURO).
- tests/project/test_whole_suite_on_latest_1958.py pins the lines, the
  leg, the gates closed and the docs; tier-guard, #1732 and #1954 pins
  follow the new reading.
- workflows.rst describes it; unit-tests.yml line citations re-anchored.

Selection steps and tests/_tiers.py are unchanged.
@JarryShaw JarryShaw added ci Pull requests that change CI or workflow configuration (ci: subject prefix) review: running A cross-review is in flight against the current head - no verdict yet labels Oct 20, 2026
@JarryShaw JarryShaw moved this to In review in PyPCAPKit Oct 20, 2026
…1958)

- test, integration: the install comments said cli, and crypto and NGAP,
  are not installed; the latest leg's whole-suite step installs them.
- workflows.rst, releasing.rst: unit-tests.yml line citations re-anchored.
@JarryShaw

Copy link
Copy Markdown
Owner Author

GOOD TO GO at 6ef223592. A Sonnet review installed exactly the new extras on a fresh 3.15 venv with no tshark on PATH, and found no failures in the PyShark, Sphinx and html5lib modules, the fixture tier or the pins. It also found two install comments the new step contradicts. Those are fixed in 623024fc5, which also re-anchors the citations. A delta review of that commit is running.

@JarryShaw

Copy link
Copy Markdown
Owner Author

GOOD TO GO at 623024fc5. The Sonnet delta review found the diff is comments only, both reworded comments are true, and every re-anchored unit-tests.yml:N citation lands on its text. The 36 workflow- and docs-reading modules pass.

@JarryShaw JarryShaw added review: good-to-go Cross-review at the current head says ready; CI state is separate and removed review: running A cross-review is in flight against the current head - no verdict yet labels Oct 20, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Coverage: 91.52% (unit tier, Python 3.15, 623024fc5, Unit Tests run success)

Package Statements Missed Branches Partial Cover
pcapkit (top level) 104 4 20 2 95.16%
pcapkit/const 19597 881 2618 867 92.11%
pcapkit/corekit 2505 70 792 36 96.54%
pcapkit/dumpkit 276 3 100 3 98.40%
pcapkit/foundation 2916 23 1016 25 98.78%
pcapkit/interface 138 4 52 3 96.32%
pcapkit/protocols 17411 224 4580 189 98.10%
pcapkit/toolkit 872 36 298 10 95.21%
pcapkit/utilities 522 2 158 4 99.12%
pcapkit/vendor 4431 1995 1018 167 51.73%

Per-file detail: the coverage-html artifact of this run.

@JarryShaw
JarryShaw merged commit 12adf58 into main Oct 20, 2026
57 checks passed
@github-project-automation github-project-automation Bot moved this from In review to Done in PyPCAPKit Oct 20, 2026
@JarryShaw
JarryShaw deleted the ci/1958-whole-suite-latest branch October 20, 2026 15:16
@JarryShaw JarryShaw removed the review: good-to-go Cross-review at the current head says ready; CI state is separate label Oct 20, 2026
@JarryShaw JarryShaw added this to the PyPCAPKit v1.5 milestone Oct 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci Pull requests that change CI or workflow configuration (ci: subject prefix)

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant