testsAndMisc/docs/superpowers/contracts/suite-speedup-2026-08-23.json
Krzysztof kuhy Rudnicki b399fab56d
Some checks are pending
Pre-commit checks / pre-commit (push) Waiting to run
Python tests / test (push) Waiting to run
Shell tests / shell-tests (push) Waiting to run
Shell tests / arch-tests (push) Waiting to run
Take the fixes/lib suite from 110s to 37s, same 645 assertions
Three changes, none of which touch what a single test asserts:

thorium_repairs.sh's `sleep 4` becomes `sleep ${THORIUM_STARTUP_WAIT:-4}`
and the harness sets 0.2s. Three cases were each paying four real
seconds to watch a stubbed browser stay up; the stub sleeps 30s, so the
`kill -0` check is unchanged. That file: 17.0s -> 5.6s.

_t_hide was the rest of it. It walks PATH and creates a symlink per
executable -- ~13.5k here, 4.6s a build -- and the suite has ~16
distinct tool sets. Now the full farm is built ONCE and `cp -al`
hard-links it per set, with only the hidden names deleted from the copy.
The cache also moved out of $TEST_TMPDIR, which is per-file, into a
run-scoped dir run_all.sh creates and removes, so it survives between
files.

110s -> 98s (sleep) -> 85s (shared cache) -> 37s (hard-linked farm).

645 OK, 0 FAIL throughout. The cases that only pass when a tool is
genuinely unfindable -- install_pyroveil's missing-dependency arms,
fix_aggressive without sqlite3 -- still pass, which is what proves the
farm is still hiding rather than quietly returning a full PATH.

lib_test_core.sh hit exactly 250 lines, so _t_hide and the farm move to
lib_test_path.sh (194 + 67).

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-23 14:00:13 +02:00

18 lines
1.2 KiB
JSON

{
"title": "Make the fixes/lib suite fast without weakening it",
"objective": "Cut the suite from 110s to well under a minute so pre-push stops being dominated by it, changing only how long things wait and how the PATH shim farm is built.",
"acceptance_criteria": [
"run_all.sh completes in under 60s and exits 0.",
"The assertion count is unchanged at 645 OK with 0 FAIL; no test is deleted, skipped or weakened.",
"The cases that depend on a tool being genuinely unfindable still pass, so the shim farm is still doing its job.",
"Every touched file stays under the 250-line cap and shellcheck-clean with zero suppressions.",
"thorium_repairs.sh's production wait is unchanged by default: THORIUM_STARTUP_WAIT defaults to the original 4."
],
"out_of_scope": [
"Changing what any test asserts.",
"The coverage jail's own runtime, which is dominated by kcov and runs two passes by design.",
"The pacman_hook_stall harness, which predates lib_test_core.sh."
],
"verifier": "time bash linux_configuration/scripts/single_use/fixes/lib/tests/run_all.sh (expects exit 0 in under 60s), plus `bash run_all.sh | grep -c '^ OK'` returning 645 and `grep -c '^ FAIL'` returning 0."
}