mix bash_fixtures.verify (JustBash v0.4.0)

View Source

Checks 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 suites

Exits non-zero when anything is wrong, so it can gate CI.