mix bash_fixtures.verify (JustBash v0.4.0)
View SourceChecks the fixture corpus for integrity. Offline — no Docker.
Cases in test/fixtures/bash_cases/ are joined to the bash output recorded in
test/fixtures/bash_expected/ by content_hash, a digest of the case inputs.
Because the hash is derived from the script, "someone edited a script but never
re-recorded it" is detectable without running bash at all — the recomputed hash
simply has no recording. That is what lets the PR pipeline stay hermetic while
still refusing to accept a stale corpus.
Reports, per suite:
- stale hash — the stored hash is not the digest of the current inputs, so the case is joined to a recording made from a different script
- no recording — a case whose expectation was never recorded
- orphan recording — a recording no live case claims
- hash collision — one hash claimed by cases with differing inputs
Usage
mix bash_fixtures.verify # whole corpus
mix bash_fixtures.verify wc cp # specific suitesExits non-zero when anything is wrong, so it can gate CI.