Skip to content

tests: dpkt-gated tests have never run on any CI path (28 methods, 6 files) #729

Description

@JarryShaw

Describe the bug

dpkt is declared only in the DPKT extra (pyproject.toml:135) and in all (:217). No CI job installs either — the three install lines in .github/workflows/unit-tests.yml are .[test] (:82) and .[test,Scapy] (:128, :247). So every @unittest.skipUnless(HAS_RUNTIME and HAS_DPKT, ...) test has never executed on any CI path, in any job, on any Python version. They report as skips, which is indistinguishable from a pass in the summary line.

Measured by AST — 28 test methods across 6 files:

Count File
20 tests/toolkit/test_dpkt_unit.py
4 tests/interface/test_misc.py
1 each tests/foundation/test_extraction.py, tests/interface/test_core.py, tests/integration/test_engine_parity.py, tests/integration/test_engine_runtime.py

The last two are the sharp end: they live in tests/integration/, which is the job whose entire purpose is exercising the runtime engines.

Reproduction

$ grep -n 'pip install -e' .github/workflows/unit-tests.yml
82:          python -m pip install -e '.[test]'
128:          python -m pip install -e '.[test,Scapy]'
247:          python -m pip install -e '.[test,Scapy]'
$ python -c "import re;t=open('pyproject.toml').read();print([n for n,b in re.findall(r'^(\w+)\s*=\s*\[(.*?)\]',t,re.S|re.M) if 'dpkt' in b])"
['DPKT', 'all']

Expected behavior

Either the DPKT extra joins the integration/gate install line so those 28 tests actually run, or the skip is made deliberate and visible so nobody reads it as coverage.

Additional context

Pre-existing and unrelated to #715 — found incidentally while measuring #727's skip-set. Scapy is already installed this way (:128), so the precedent for adding an engine extra to that line exists. Note HAS_RUNTIME gates the same tests, so adding dpkt alone may not be sufficient; check what HAS_RUNTIME requires before assuming a one-word fix.

Activity

  1. added
    bugIssues reporting a defect (set by the bug report template; a default, not an assessment)
    testPull requests that add or correct tests (test: subject prefix)
    ciPull requests that change CI or workflow configuration (ci: subject prefix)
    blockedDeferred pending another issue or decision; see the last comment for what unblocks it
    wipWork in flight - a covering PR is open or an agent is actively on it
    and removed
    blockedDeferred pending another issue or decision; see the last comment for what unblocks it
    on Sep 24, 2026
  2. removed
    wipWork in flight - a covering PR is open or an agent is actively on it
    on Sep 24, 2026
  3. added this to the 1.5 milestone on Oct 6, 2026
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

    bugIssues reporting a defect (set by the bug report template; a default, not an assessment)ciPull requests that change CI or workflow configuration (ci: subject prefix)testPull requests that add or correct tests (test: subject prefix)

    Projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions