mirror of
https://github.com/kuhyx/testsAndMisc.git
synced 2026-11-10 19:07:04 +01:00
75/75 lines through run_all.sh at --min 100, exit 0, and
check_shell_coverage.sh passes with the allowlist line already deleted
so the pass cannot come from the exemption.
55 assertions over 23 cases: all five profile repairs plus test_thorium,
including every dry-run arm, the partial singleton-lock case, a corrupt
database and the sqlite3-absent path. The lib needed NO production
change -- it already takes every path from $THORIUM_CONFIG_DIR, so
pointing that one variable at the tmpdir confines it completely.
The gate's per-case timeout moves from the jail's 120s default to 600s.
That default is a hang-catcher, not a performance budget, and this suite
has outgrown it: 76s bare at 25 test files, 93s at 27, and kcov roughly
doubles it. The symptom was a lib FAILING the gate while measuring
perfectly -- bt_audio.sh printed "127/127 lines = 100.00%" and then
"warn: case timed out after 120s", which --fail-on-case-error turned
into a non-zero exit. bt_audio.sh and arch_cpu.sh both pass now.
The cost, recorded in the evidence: a genuine hang takes 10 minutes per
pass to surface instead of 2. test_thorium's `read -r -p` is exactly
that shape, so every case here feeds it stdin explicitly.
This also settles the quarantine in b2779059. Re-adding the arch_sysctl
cases still yields "kcov instrumented no lines" for bt_audio at a 600s
timeout with no timeout warning, so runtime was never that file's
problem and the quarantine stands for the reason its header gives.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
19 lines
1.8 KiB
JSON
19 lines
1.8 KiB
JSON
{
|
|
"title": "Clear thorium_repairs.sh and lift the coverage gate's case timeout",
|
|
"objective": "Bring thorium_repairs.sh to 100% measured line coverage and remove its allowlist exemption, and stop the gate's 120s per-case timeout from failing libs whose coverage is actually 100%.",
|
|
"acceptance_criteria": [
|
|
"The jail reports thorium_repairs.sh at 100.00% through tests/run_all.sh at --min 100, exiting 0.",
|
|
"check_shell_coverage.sh passes on thorium_repairs.sh with its allowlist line already deleted, so the pass cannot come from the exemption.",
|
|
"check_shell_coverage.sh passes on bt_audio.sh, which failed before this change despite measuring 127/127, because the case timed out.",
|
|
"All five profile-repair functions plus test_thorium are covered, including every dry-run arm and the sqlite3-absent path.",
|
|
"thorium_repairs.sh itself is unmodified: it already took every path from $THORIUM_CONFIG_DIR, so no production seam was needed.",
|
|
"The suite stays green and shellcheck reports nothing, with zero suppressions."
|
|
],
|
|
"out_of_scope": [
|
|
"Un-quarantining arch_sysctl_quarantined_cases.sh: re-adding it still breaks bt_audio's measurement even at a 600s timeout, so runtime was not its cause.",
|
|
"Changing the coverage instrument (shell_coverage_lines.py).",
|
|
"The remaining four untested libs: hosts_guard_migrate, hosts_guard_rollback, ubuntu_perf_fixes, nvidia_config."
|
|
],
|
|
"verifier": "timeout 900s bash meta/scripts/shell_coverage_jail.sh --timeout 600s --subject linux_configuration/scripts/single_use/fixes/lib/tests/run_all.sh --measure thorium_repairs.sh --min 100 --fail-on-case-error -- \"\" (expects 75/75 = 100.00%, exit 0), then bash meta/scripts/check_shell_coverage.sh on thorium_repairs.sh and bt_audio.sh with the allowlist line removed."
|
|
}
|