testsAndMisc/linux_configuration/scripts/single_use
Krzysztof kuhy Rudnicki 0091608b08 Make the gate read jail_args and refuse a suite that dies partway
Two defects found in review, both of which made checks PASS more easily, so
neither ever went red.

GATE: is_covered() hardcoded its jail flags and never read the jail_args
marker that ci_mirror.sh and shell-tests.yml both consume. The features/lib
suite needs /usr/local/share and /etc/pki and aborts under set -e without
them -- but the coverage number still printed, because kcov had already
recorded whatever the dead run reached. The gate would have graded 44 libs on
a suite that never finished. It now reads the marker, keeps the historical
defaults for suites without one, fails closed on an empty marker, and passes
--fail-on-case-error.

Negative control: stripping the binds makes the gate exit 1 and restoring
them returns exit 0. Before this commit both cases exited 0 -- the gate could
not fail on an aborting suite.

HASH CACHE: the _t_unstub helper written earlier today for the transcribe
harness was needed in features_harness.sh too. Two assertions were vacuous --
test_dwm_config's "verify still reports when dwm is absent", and
test_rpi_nc_ca's uname removal, where a cached uname left every later branch
running under a faked Darwin. All four `rm -f "$TEST_TMPDIR/bin/` sites in
the repo were audited; the other two are sound (one probes with [[ -f ]], the
other runs in a subshell).

No measured figure moved: dot_resolver_install.sh still 39/39 = 100.00% with
real absence enforced, so its off-allowlist clearance holds.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016sxxsDHWgdRhmdmzNMA6XM
2026-08-22 13:36:54 +02:00
..
features Make the gate read jail_args and refuse a suite that dies partway 2026-08-22 13:36:54 +02:00
feedback-appimage feedback: local-only pacman package build, and ignore build artifacts 2026-08-10 15:33:18 +02:00
fixes diagnose_pacman_hook_stall.sh: split 493 -> 249 + 6 libs, 100% coverage 2026-08-18 22:33:57 +02:00
fresh-install fresh-install: split main.sh 308 -> 200 + 121 2026-08-17 14:11:26 +02:00
lib Split install_joplin.sh and establish the shell-split pattern 2026-08-16 18:33:59 +02:00
misc/testsAndMisc-bash Cover clean_audio_filters.sh (89.25%), completing testsAndMisc-bash/lib 2026-08-22 13:27:44 +02:00
utils generate_study_materials: split into lib/ under the 250-line cap 2026-08-21 14:32:08 +02:00
install_code_insiders.sh refactor(linux_configuration/scripts): split all scripts into single_use/ and periodic_background/ 2026-05-15 00:32:35 +02:00
install_feedback.sh feedback: local-only pacman package build, and ignore build artifacts 2026-08-10 15:33:18 +02:00
install_joplin.sh Split install_joplin.sh and establish the shell-split pattern 2026-08-16 18:33:59 +02:00
install_ungoogled_chromium_ubuntu.sh Wire uBlock Origin into every real Chromium launch, alongside LeechBlock 2026-08-12 22:44:28 +02:00
test_bad.sh refactor(linux_configuration/scripts): split all scripts into single_use/ and periodic_background/ 2026-05-15 00:32:35 +02:00
test_removal.sh refactor(linux_configuration/scripts): split all scripts into single_use/ and periodic_background/ 2026-05-15 00:32:35 +02:00