Skip to main content

max / makenotwork

1.6 KB · 32 lines History Blame Raw
1 # Mutants that NO test can kill, with the reason each one is unreachable by any
2 # test that could be written.
3 #
4 # THE BAR IS IMPOSSIBILITY, NOT COST. A mutant that a test could kill, where
5 # nobody has written that test, does not belong here however unappealing the
6 # test looks. It stays a visible survivor with a GoingsOn task against it. The
7 # two classes are easy to conflate and the difference is the whole value of the
8 # number: an exclusion list that also absorbs "not worth it" reports zero while
9 # real coverage gaps sit underneath it.
10 #
11 # The evidence for that bar is in the sibling files. Of docengine's nine
12 # survivors, four were coverage gaps; of custom-pages' six, five looked
13 # equivalent at a glance and were not. So: try to kill it first, and add an
14 # entry only with the reason written out.
15 #
16 # The patterns are regexes, so `+`, `*` and `|` need escaping. A bare `||` is an
17 # empty alternation and silently excludes every mutant in the crate.
18
19 exclude_re = [
20 # The two oracle wrappers in `mod oracle`. An oracle asserts what must hold
21 # independently of the code under test, so it only speaks when that code is
22 # wrong; replacing its body with `()` is invisible to every test that passes.
23 # Killing it would mean shipping a broken planner for a test to catch, which
24 # is not a test that can exist alongside a correct one.
25 #
26 # The evidence these two work is the other half of the same run rather than
27 # a mutant: all 34 mutants in `MultipartPlan::{new,auto,part_len,part_range}`
28 # were caught, and they were caught AT THESE ASSERTIONS.
29 "replace oracle::check_plan with \\(\\)",
30 "replace oracle::check_auto with \\(\\)",
31 ]
32