d1e3f8bce2
Each file in .tests/mutations/ is one deliberate bug: what it breaks, why that matters, the assertion meant to catch it, and an OLD/NEW pair applied to a copy of the tree. A mutation is KILLED only when the suite fails AND the named assertion is among the failures — failing for an unrelated reason is reported as WRONG-TEST, because that is luck, and luck is lost the next time the unrelated test moves. A mutation whose OLD block no longer matches is STALE rather than quietly skipped. 19 reproduces the DU-C1 shape: a comment moved back inside the fzf line-continuation. It is killed by "dotup pick exits 0".
10 lines
294 B
Plaintext
10 lines
294 B
Plaintext
# what: note_fail() neutered: failures are dropped
|
|
# why: the summary, the count and the exit code all come from this one file
|
|
# kills: …under a heading you can find
|
|
# run: unit
|
|
<<<OLD
|
|
note_fail() { printf '%s\t%s\n' "$1" "$2" >> "$FAILED"; err "$1: $2"; }
|
|
<<<NEW
|
|
note_fail() { :; }
|
|
<<<END
|