Skip to content

test: split the conflict-prone count pins and generator tables (#2615) - #2644

Open
JarryShaw wants to merge 1 commit into
mainfrom
test/2615-split-pins
Open

JarryShaw wants to merge 1 commit into
mainfrom
test/2615-split-pins

Conversation

@JarryShaw

Copy link
Copy Markdown
Owner

What is the purpose of your pull request?

  • test — tests only

Description of your pull request and other information

The test files that every new module or registry had to edit now derive their counts instead of pinning them. This is the restructuring #2615 allows.

  • const: the four sweeps compare against tests/const/census, one module per pcapkit.const package.
  • vendor: the constant-miss sweep compares against a sorted crawler list.
  • dispatch and options generators: each family has its own module under dispatch_families/ or option_families/. The census tests derive from them and from the tree's maps.
  • excusals: the CONVERTED and EXCLUDED lists in the enum-get and registry-protocol tests assert their own reasons, so the derived totals are as strict as the pins were.

Case sets are identical to main. Frames in the gitignored options-transport.pcap and options-internet.pcap now come out in file-name order. Nothing reads frame order there.

A Sonnet cross-review returned GOOD TO GO and its one gap (an unchecked CONVERTED entry) is closed. Every const and vendor mutation fails.

Closes #2615

- const: the four sweeps compare against tests/const/census, one module per
  pcapkit.const package, instead of pinned counts
- vendor: the constant-miss sweep compares against a sorted crawler list
- dispatch, options: each family moves to dispatch_families/ or
  option_families/; the census tests derive from them and the tree's maps
- rfc constants: NOT_A_COPY and UNRELATED are sorted by module, and pinned so
- excusals in enum_get and registry_protocol assert their reason, so the
  derived totals keep the pins' strength
- test-coverage.rst: the suites' sources and the adding table follow
- references to TCP_BASE, HIP_BASE and other moved names follow them
@JarryShaw JarryShaw added this to the PyPCAPKit v1.6 milestone Nov 2, 2026
@JarryShaw JarryShaw added test Pull requests that add or correct tests (test: subject prefix) review: good-to-go Cross-review at the current head says ready; CI state is separate labels Nov 2, 2026
@JarryShaw

Copy link
Copy Markdown
Owner Author

GOOD TO GO at e55035a04. A Sonnet cross-review returned GOOD TO GO on the first round. The one gap it found, a CONVERTED entry nothing checked, is closed: test_each_converted_entry_is_what_converted_means now fails on both the C8b and C8c mutations. Case sets match main.

@JarryShaw

Copy link
Copy Markdown
Owner Author

The red Python 3.15 leg comes from this PR's base, not its change. It fails only the DTLSCIDCiphertext schema round trip, which main fixed in 16ccc4373 (#2645), and the re-export test that #2641 fixes. I'll rebase once #2641 merges. The verdict stays good to go.

@github-actions

github-actions Bot commented Nov 2, 2026

Copy link
Copy Markdown
Contributor

Coverage: 94.08% -- tests failure, so this is partial (unit tier, Python 3.15, e55035a04, Unit Tests run failure)

Package Statements Missed Branches Partial Cover
pcapkit (top level) 104 4 20 2 95.16%
pcapkit/const 20561 177 2832 158 98.53%
pcapkit/corekit 2697 74 854 37 96.65%
pcapkit/dumpkit 281 3 100 3 98.43%
pcapkit/foundation 3475 27 1206 32 98.74%
pcapkit/interface 138 4 52 3 96.32%
pcapkit/protocols 21416 218 5650 196 98.46%
pcapkit/toolkit 961 28 342 10 96.32%
pcapkit/utilities 512 7 144 5 98.17%
pcapkit/vendor 5256 2260 1198 194 53.61%

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

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

review: good-to-go Cross-review at the current head says ready; CI state is separate test Pull requests that add or correct tests (test: subject prefix)

Projects

Status: In review

Development

Successfully merging this pull request may close these issues.

test: split conflict-prone count pins and shared tables so concurrent PRs touch disjoint lines

1 participant