Repository navigation
test: remove the cross-engine agreement tests from the shared modules (#1708) - #1714
Merged
Merged
Conversation
…#1708) Third-party engines are best effort (#1687), so a disagreement with the default engine is no longer a defect. Tests only; no adapter code changes. - Delete the agreement-only modules: test_engine_agreement_runtime, its retry test, test_ext_chain_limit_agreement_1604 and test_pypcapfile_linktype_and_layer_bound_agreement_1609_1667. - test_new_engine_parity_runtime: drop the four agreement methods; the ran-checks, capability gaps and PCAP-NG refusals stay. - integration parity modules: drop the cross-engine equality lines; each adapter is checked against constants or the capture's own octets. - test_engine_pcap_trace_runtime (#1507): each engine's traced PCAP holds the flow's records as read from the capture by hand. - carrier walk, tunnelled flow key, 1607 header checks: keep the default-engine checks, scapy's later-fragment stop and the two dpkt crash guards as constants; 1607 stays as a helper module because two single-engine modules import it. - snapped-capture and TSO trace tests: dpkt and scapy against constants. Edited modules pass on 3.14 and 3.11; tier and project guards pass.
Owner
Author
|
Verdict: GOOD TO GO at
|
Contributor
|
Coverage: 89.47% (unit tier, Python 3.15,
Per-file detail: the |
JarryShaw
added a commit
that referenced
this pull request
Oct 14, 2026
…ms (#1708) Third-party engines are best effort (#1687), so the docs stop saying they match the default engine: - toolkit/3rdparty: open with the best-effort contract, which no page stated; protocol rules belong in the default engine only - reassembly/ip/ipv6: the pcap and pcapng adapters subtract the Fragment header; dpkt and scapy leave it out too, as best effort, not contract - protocols/internet: scapy behind IPv4 walks up to EXTENSION_HEADER_LIMIT headers, not "stops at the same depth" - engines/3rdparty: dpkt dates a Simple Packet Block 0, without the "as the default engine does" - contributing/pep: pypcap and pypcapfile are best effort; the claim that each agrees with the default engine went with #1714's tests Sphinx 9.1.0: the warning set is identical before and after. Refs #1708
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Please follow the guide below
You will be asked some questions, please read them carefully and answer honestly
Put an
xinto all the boxes [ ] relevant to your pull request (like that [x])Use Preview tab to see how your pull request will actually look like
Searched for similar pull requests
Followed the coding style (
make pylint,make mypy,make isort)make testpasses, and a test case covers the change. Narrow runs only, listed below.Added a changelog entry under
docs/source/changelog/and regeneratedCHANGELOG.md, if the change is user-visible: N/A — centralised in docs(changelog): shared 1.5.0 changelog — long-lived, merges last (#610, #616, #617, #618, #620) #657What is the purpose of your pull request?
Tick the commit type your subject line carries.
fix— corrects a defectfeat— adds a featureperf— changes performance, not behaviourrefactor— changes neither behaviour nor performancetest— tests onlydocs— documentation onlyci— workflows or build toolingrelease— bumps the version or rolls up a distributionchore— anything elseDescription of your pull request and other information
Third-party engines are best effort (#1687), so this PR removes the tests that pin a third-party engine to the default engine's output. It changes tests only. The adapter code is unchanged, so every test it keeps passes on today's code.
test_engine_agreement_runtime.py,test_engine_agreement_retry_unit.py,test_ext_chain_limit_agreement_1604_unit.pyandtest_pypcapfile_linktype_and_layer_bound_agreement_1609_1667_unit.py.test_new_engine_parity_runtime.py, and the equality lines of bothtests/integration/*parity*modules, whose constants are now checked for every adapter. Also the carrier-walk, tunnelled-flow-key, snapped-capture and TSO trace modules.test_dpkt_scapy_ipv4_header_checks_1607_unit.py, becausetest_dpkt_tcp_ns_flags_1618_unit.pyandtest_scapy_ipv6_fragment_and_encap_walk_1635_1636_unit.pyimport its helpers. Its agreement tests are gone; its default-engine checks stay.test_two_connections_through_one_tunnel_are_two_flows, because its tunnel support is fix(toolkit): key tunnelled TCP by the innermost IP header (#1581) #1605's dpkt hunk, which is on the dpkt revert list.19 tests removed (12 of them in the deleted modules), 26 rewritten; 1,516 lines deleted and 257 added.
Runs: the edited modules pass on 3.14 (48 passed, 10 skipped) and on 3.11 with pyshark and pypcapfile (51 passed, 3 skipped because pypcap is not installed).
tests/test_tier_guard.pyand the project guards pass on both.--collect-onlyovertests/foundation tests/integration tests/toolkitcollects 898 tests on both.Part of #1708