-
test(silent-eval): pin the three bugs, and prove the pins actually bite (#112) · ee7b8b8c
The previous commit fixed three bugs in the tool whose entire job is catching failures that make no noise. That makes its own failure mode the worst one available: saying OK about a track that does not work, or BROKEN about a track that does. It was doing BOTH, corpus-wide — and it stayed hidden because the 13 setlist tracks, the only ones anyone ever pointed it at, happened to dodge all three. Seven tests, all structural — no ghc, no rig, 0.06s: 1. a column-0 `$` is a CONTINUATION (PLN's dominant corpus style), plus a guard that indenting does not FLATTEN relative structure below it, plus one for the ordinary inline style — which gets a test precisely because dodging the bug is what let the bug live. 2. a non-zero exit with no SILENT line is a CRASH, and its stderr survives into the detail, because stderr is the only thing that says why. 3. the exit code answers "is anything wrong", never "is anything silent". MUTATION-CHECKED, because green tests on their own prove nothing. Each fix was individually reverted and the suite re-run: remove the continuation indent -> test_dollar_at_column_zero_is_indented FAILS key the return to silence only -> test_exit_code_is_not_keyed_to_silence_alone FAILS both restored -> 7 passed Test 3 is the one that matters. When crashes were split out of the silence count, the return value was briefly left keyed to `silent_only`, so a corpus where every single track failed to compile would have printed "OK — every declared orbit emits events" and exited 0. That is a false green from the gate, and a false green here is indistinguishable from a working set right up until the downbeat. Full suite: 229 passed.PLN (Algolia) authoredee7b8b8c
×