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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions