From 6008a4034a0a65a053d1ec5596810d82eac8cc19 Mon Sep 17 00:00:00 2001 From: Krzysztof kuhy Rudnicki Date: Sun, 12 Apr 2026 21:56:46 +0200 Subject: [PATCH] Fix coverage race: delete stale .coverage* files before each package test run Parallel cgroup subprocesses racing on the same .coverage SQLite DB caused INTERNALERROR (no such table: meta/arc) when combining coverage data files. Delete all .coverage* files before each package run to prevent corruption. --- scripts/pytest_changed_packages.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/scripts/pytest_changed_packages.py b/scripts/pytest_changed_packages.py index 75c4170..3781b95 100755 --- a/scripts/pytest_changed_packages.py +++ b/scripts/pytest_changed_packages.py @@ -95,6 +95,10 @@ def main() -> int: # instantly at the limit instead of thrashing swap/zram. use_cgroup = shutil.which("systemd-run") is not None for pkg in sorted(packages): + # Remove stale .coverage* files before each package run to prevent + # SQLite corruption when combining parallel coverage data files. + for stale in Path().glob(".coverage*"): + stale.unlink(missing_ok=True) cmd = _build_pytest_command({pkg}) if use_cgroup: cmd = [