Files
fips/testing/lib
Johnathan Corgan 3262e3c0fd Add ci-local.sh --rerun to run one suite after only the release build
--only <suite> still runs every guard, the whole build stage and all unit
tests before the suite, so rerunning one suite on a tree that already passed
a full run took about 16 minutes for a 4 minute suite. --rerun <suite> runs
the release build and that suite, then prints a banner saying the guards,
lints, unit tests and build-stage extras did not run and that this is not a
full local CI verdict. The summary lists only the build and the suite, and
the exit status is the suite's.

A bad request fails at parse time with exit 2, before anything is built:
--rerun without a value, a suite name --list does not print, or --rerun
combined with --only, --build-only, --test-only, --skip-integration or
--cross-check. The release build step moves into run_release(), shared by the
build stage and the rerun path, and the guard list into run_guards(), so the
default flow is unchanged.

The argument test gains these cases, written first. Against the script before
this change, 11 checks failed: every --rerun case got "Unknown option: --rerun"
instead of its own message, and "--rerun firewall --help" exited 2 rather
than 0. After the change all 32 checks pass. Removing the conflict rejection
again turns the seven conflict cases red.

That planted break also showed a regressed parse falling through into a real
run, which started a release build until the per-case timeout. The test now
puts failing stand-ins for cargo, docker and sudo first on PATH, so such a
regression fails in seconds without building or starting anything.

CONTRIBUTING.md, testing/README.md and testing/mesh-lab/README.md name
--rerun beside --only as the fast path for single-suite debugging.
2026-10-15 21:39:34 +00:00
..