Skip to content

test: coverage-enabled functional runs can lose shared /tmp/coverage dir #7273

@thepastaclaw

Description

@thepastaclaw

Summary

linux64-test / Test source can intermittently lose the shared RPC coverage temp directory during the coverage-enabled functional test run, causing otherwise unrelated tests to crash with FileNotFoundError in test_framework/coverage.py.

CI occurrence

Failure mode

Two tests in the same run failed while trying to append RPC coverage data:

p2p_dns_seeds.py

File "/__w/dash/dash/build-ci/dashcore-linux64/test/functional/test_framework/coverage.py", line 57, in _log_call
    with open(self.coverage_logfile, 'a+', encoding='utf8') as f:
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/coverage14baegnk/coverage.pid18731.node0.txt'

feature_csv_activation.py

File "/__w/dash/dash/build-ci/dashcore-linux64/test/functional/test_framework/coverage.py", line 57, in _log_call
    with open(self.coverage_logfile, 'a+', encoding='utf8') as f:
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/coverage14baegnk/coverage.pid19055.node0.txt'

Both failures point at the same missing shared coverage directory:

  • /tmp/coverage14baegnk

Diagnosis

test/functional/test_runner.py creates one shared coverage directory with tempfile.mkdtemp(prefix="coverage") and passes it to all tests via --coveragedir=....

In this run, that directory disappeared while tests were still executing, so later RPC calls crashed when the coverage wrapper tried to append to coverage.pid*.txt.

This does not look related to the PR's actual diff (only CI workflow/env files plus test/get_previous_releases.py were changed), and it is separate from the concurrent known feature_llmq_signing.py flake in the same job.

Reproduction

No deterministic local repro yet.

Observed in CI during the standard coverage-enabled linux64 functional test run.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions