docs(contributing): sweep pep.rst and testing.rst (#719) - #955
Conversation
Six figures on pep.rst disagreed with the tree. Corrected where a number still belongs, replaced with the command that produces it where it does not: - "16 of the 151 TransType" -- Internet.__proto__ holds 17. - "327 codes registered and 59 of them do not round-trip", and the 11-row family table -- EXPECTED_FAILURES is down to 43 across 9 families, with tcp-mptcp and ipv6-route-type gone entirely and ipv4-option at 1 rather than 6. The registry walk gives 322, not 327. A third mention of the same 59, and the sentence calling pcapng-option the largest family "in that table", both go with it. - "105 modules matching test_*.py" -- find gives 192. - "plus an allowed-to-fail 3.15 leg" -- unit-tests.yml's test and integration matrices run 3.10-3.14 and exclude 3.15 deliberately, since a leg outside the ruleset's required checks cannot block a merge. - the release table's "1.5.0b3 (current)" row, which dates itself on every version bump. - two line references, pcapkit/dumpkit/pcap.py:120 and pcapkit/toolkit/pcap.py:53, the second off by three; both now name the symbol instead. Also drops the origin story, the MH and CGA-Parameters chronologies, the "no longer"/"used to"/"has since" framing throughout, and testing.rst's provenance note. Every design rationale stays: the two contradicted profiling predictions, the flow-finalisation reasoning, why the tracer delegates to the TCP reassembler, the reassembly clock. pep.rst 1145 -> 1084 lines. The four commands written into the page were each run from the repository root. tests/project: 227 passed, 1 skipped, 669 subtests, re-derived as 228 under plain unittest.
911e2d8 to
6662c83
Compare
|
NEEDS CHANGES at
Finding 1 is the better catch, and it is the failure mode this slice exists to prevent: I replaced a stale figure in one place and left an identical one nearby. Partially fixing a number is worse than not touching it, because the page now disagrees with itself and a reader cannot tell which half is current. It independently re-derived all six figures and got the same answers — After fixing, I swept both files for siblings of the same shape ( Round 2 is running against |
|
GOOD TO GO at I verified its central claim myself rather than taking it: It made a point about the first fix that I had not: "shortfall" is not a word I introduced to dodge the figure — the same section already uses it one paragraph earlier ("the shortfall against The sweep for a third occurrence came back empty, and it searched wider than I did — the bare figures in any form, plus six phrasings of a dangling back-reference my pattern would have missed ("the breakdown above", "those nine families", "as listed below", and so on). Two "list above" hits at It read One residual inconsistency it caught, in my own prose rather than the diff: I amended the commit message to say four commands but left the pull request description saying three. The description is a separate field that does not follow an amend. Fixed — it now reads four. Labelled |
Please follow the guide below
make pylint,make mypy,make isort)make testpasses, and a test case covers the changedocs/source/changelog/and regeneratedCHANGELOG.md, if the change is user-visible — N/A — documentation prose only, no library behaviour changeWhat is the purpose of your pull request?
fix— corrects a defectfeat— adds a featureperf— changes performance, not behaviourrefactor— changes neither behaviour nor performancetest— tests onlydocs— documentation onlyci— workflows or build toolingchore— anything elseDescription of your pull request and other information
Third slice of #719, taking
docs/source/contributing/pep.rstandtesting.rst— the two pages in that directory #953 does not touch.pep.rst1145 → 1084 lines, +159/−226 overall.Six figures disagreed with the tree. Each was re-derived before being changed:
TransTypelen(Internet.__proto__)is 17EXPECTED_FAILURESis 43test_*.pyfindgives 192unit-tests.ymlruns 3.10–3.14 and excludes 3.15 deliberately1.5.0b3(current)pcapkit/toolkit/pcap.py:53filters on DFThe round-trip table was the worst of them. It had 11 rows totalling 59; the live set has 9 families totalling 43, with
tcp-mptcp(8) andipv6-route-type(1) gone entirely andipv4-optionat 1 rather than 6 — the gap closed as defects were fixed and nothing updated the page. Where a figure will keep rotting, it is replaced by the command that produces it, matching the pattern already onconventions/process.rst. All four commands written into the page were run from the repository root.Timed context removed: the 16k-lines/800th-commit origin story, the MH and CGA-Parameters chronologies (#445/#446, the reverted half-fix, "four entries went green at once"), the three now-fixed OSPF defects, the logging migration narrative, and
testing.rst's note about having come out of the README.Kept deliberately, because #719 protects rationale over brevity: the two contradicted profiling predictions (recorded so nobody re-spends the time), the flow-finalisation reasoning, why the tracer delegates to the TCP reassembler rather than buffering in capture order, the reassembly-clock choice, and the
#472/#483evidence for the method the sweep itself uses.Verification. No test pins prose in either file (
grep -rn "pep\.rst\|testing\.rst" tests/is empty).tests/project: 227 passed, 1 skipped, 669 subtests, re-derived as 228 tests, OK under plainunittest, sincepytest-subtestsundercounts.Not verified: the performance figures (46%, 82%, 86% + 133 ms, 15%, 30%/3011 calls, 63207 copies) were not re-measured — only 2274/1137 is corroborated, by the in-code note. None was edited. No Sphinx build was run, so a cross-reference regression in the edited blocks is possible.