mix raxol. harness. goldens. bless
(Raxol v2.6.1)
View Source
Runs Raxol.Harness.Surface.Golden.run/1 over the fixtures x
degradation-tier matrix, writing one checked-in golden byte file per
fixture x tier pair (test/fixtures/harness/goldens/<fixture>.<mode>.golden).
mix raxol.harness.goldens.bless
mix raxol.harness.goldens.bless --check--check writes nothing: it renders each fixture x mode pair fresh and
compares the bytes against the on-disk golden AND the on-disk escaped
textual sidecar (<golden path>.txt, see
Raxol.Harness.Surface.Golden.escape_lines/1), printing each drifted
name plus its formatted byte-diff (offset, sizes, escaped context
windows on both sides -- see Raxol.Harness.Surface.GoldenDiff) and
failing (non-zero exit) when anything drifted or is missing -- the CI
half of the drift tripwire.
A fresh golden is reported as bless (new); an existing golden whose
bytes changed is reported as bless (overwrote) followed immediately
by the byte-diff against what was previously on disk -- a byte-golden
clobber must be loud at bless time (see
Raxol.Harness.Surface.Golden's moduledoc, "Bless status
conventions").
Mirrors the RATE --gen precedent (mix raxol.rate --gen) and the
mix raxol.harness.fixtures.bless precedent one layer further down the
stack: fixture/session-level snapshots there, raw degradation-ladder
bytes here. One golden per fixture x degradation tier
(:inline_log/:tmux_conservative/:flat).