Skip to content

ci: four HAS_* gates run on no per-PR leg -- decide which install lines take them #751

Description

@JarryShaw

#745's guard (tests/_dependency_gates.py) lands with seven allowlisted gaps, each carrying its reason. Four need nothing from anyone: PyPCAP needs libpcap headers, PCAP_CT is pre-release-only and wants a system libpcap at run time, and HAS_VENDOR_DEPS is waiting on #738's own remaining scope — the non-blocking vendor leg from ruling (b).

Three want a ruling. Two of them are not new; what is new is that they now have exactly one place that fails if they are quietly re-widened.

gate dark on methods status
HAS_SCAPY test 10 #738 set it aside because integration/gate install Scapy. But all 10 are unit-tier, so integration never reaches them, and gate only runs where a caller passes gate-only: true — the three Saturday schedules and a v* tag, never a PR or a push to main. No per-PR leg runs them. The test job declined Scapy on cost.
HAS_PYSHARK all three 3 one of #738's seven, left out of #740's cheap subset and never installed since. Two of the three assert what PyShark.unsupported_reason says, so they need the distribution importable; tshark is a separate decision.
HAS_RUNTIME test, gate 5 new — absent from #738's inventory. tests/foundation/engines/test_runtime_engines.py reuses the name for the four core deps plus dpkt, scapy, pyshark, so its two classes skip. Unit-tier despite the name (the glob is *_runtime.py). Narrow fix: give that flag its own name so the skip says what was missing.

Separately, HAS_PYPCAPFILE (15 methods, not #738's 10 — #747 grew that class from 4 to 9): #747 and #748 fixed the two bugs that made installing the extra turn skips into failures, so the only remaining obstacle is the extra's own python_version < '3.12' marker. Adding it covers 3.10/3.11 and leaves three legs skipping, which the guard cannot see because it does not evaluate markers. Worth taking or not?

Fixing any of these means deleting its DEPENDENCY_GATE_EXCLUSIONS entry; leaving a stale entry fails the liveness check, so none can become invisible again.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    ciPull requests that change CI or workflow configuration (ci: subject prefix)testPull requests that add or correct tests (test: subject prefix)

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions