Skip to content

test(project): guard protocol class member order (#2490) - #2541

Merged
JarryShaw merged 1 commit into
mainfrom
test/2490-member-order-guard
Nov 1, 2026
Merged

JarryShaw merged 1 commit into
mainfrom
test/2490-member-order-guard

Conversation

@JarryShaw

Copy link
Copy Markdown
Owner

What is the purpose of your pull request?

  • fix — corrects a defect
  • feat — adds a feature
  • perf — changes performance, not behaviour
  • refactor — changes neither behaviour nor performance
  • test — tests only
  • docs — documentation only
  • ci — workflows or build tooling
  • release — bumps the version or rolls up a distribution
  • chore — anything else
  • const — regenerates constant or registry tables, members keeping their numeric values

Description of your pull request and other information

Part of #2490. Merge after #2522, #2523, #2538 and #2539. Its exception table matches main once all four reorders are in, so it fails on plain main by design until then.

- protocol-member-order.rst: cite #2490 for the ruling; a registry fallback
  read()/make() names is a specific reader; specific sets open with the
  registry default; every helper read(), make() and the registries do not
  reach goes last (d); the guard noted.
- tests/project: audit every protocol class for group order, _make_data()
  first, reader before maker and rule b; stale or unknown exceptions fail.

Merge after #2522, #2523 and the held link and misc/schema/protocol reorders:
the table matches main with all four merged, and plain main fails.
@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 1, 2026
@JarryShaw

Copy link
Copy Markdown
Owner Author

Cross-review (Sonnet) at 0142851fc: GOOD TO GO. The guard passes once the four #2490 reorders are merged, and fails on plain main as intended. The page text matches the owner's #2490 rulings, and each exception entry names a real member. The DTLS [data] entry is coupled to #2528: whichever of the two merges second deletes it.

@JarryShaw JarryShaw added the review: good-to-go Cross-review at the current head says ready; CI state is separate label Nov 1, 2026
@JarryShaw JarryShaw moved this to In review in PyPCAPKit Nov 1, 2026
@github-actions

github-actions Bot commented Nov 1, 2026

Copy link
Copy Markdown
Contributor

Coverage: 93.94% (unit tier, Python 3.15, 0142851fc, Unit Tests run failure)

Package Statements Missed Branches Partial Cover
pcapkit (top level) 104 4 20 2 95.16%
pcapkit/const 20087 144 2710 125 98.78%
pcapkit/corekit 2605 74 818 37 96.52%
pcapkit/dumpkit 281 3 100 3 98.43%
pcapkit/foundation 3194 27 1112 31 98.65%
pcapkit/interface 138 4 52 3 96.32%
pcapkit/protocols 19906 213 5236 207 98.32%
pcapkit/toolkit 924 36 334 10 95.55%
pcapkit/utilities 502 7 144 5 98.14%
pcapkit/vendor 5009 2222 1148 182 52.31%

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

@JarryShaw
JarryShaw merged commit b635877 into main Nov 1, 2026
50 of 54 checks passed
@github-project-automation github-project-automation Bot moved this from In review to Done in PyPCAPKit Nov 1, 2026
@JarryShaw
JarryShaw deleted the test/2490-member-order-guard branch November 1, 2026 15:58
@JarryShaw JarryShaw removed the review: good-to-go Cross-review at the current head says ready; CI state is separate label Nov 1, 2026
JarryShaw added a commit that referenced this pull request Nov 1, 2026
#2490, #2575)

#2541's exception table was built on a base without #2528 and #2542, so
main fails the member-order guard: #2528 put DTLS back in order, and #2542
renamed the IGMP classes to IGMPv3. Drop DTLS and re-key the IGMP entries.

#2509 merged before #2521 required a wrapper for every class-level map, so
Radiotap.__proto__ has none. Nothing dispatches by it yet; excuse it until
#2575 adds Radiotap.register and register_radiotap.
@github-actions github-actions Bot added this to the PyPCAPKit v1.6 milestone Nov 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

test Pull requests that add or correct tests (test: subject prefix)

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant