0b5982b9

By: Tom Sydney Kerckhove <syd@cs-syd.eu>

Abort mutation run when coverage baseline tests fail

When a coverage child observes a test failure during baseline collection,
mutation testing against that suite would produce meaningless scores —
the test was already red before any mutation ran.

The coverage child now prints the offending test's output and a loud
warning whenever a baseline test fails. Under --mutation-fail-fast it
additionally exits with code 2; the parent treats that as a non-retryable
abort signal, cancels the remaining workers via a new CoverageFailFast
exception (distinct from the existing MutationFailFast used for survivors
and uncovered mutations), and exits non-zero.

The fail-fast value is forwarded to coverage children explicitly so the
child's behaviour follows the parent's setting rather than its own default.

Suite timing

Time to Start Worker time Duration Time to finish
Config 0s 3s 3s 3s
Eval 3s 38s 38s 42s
Build 8s 6m51s 25h46m17s 25h46m25s
Test - - - -
Deploy - - - -
Suite 0s 7m33s 25h46m25s 25h46m25s

Timeline

0s10s20s30s40s50s1m1m10s1m20s1m30s1m40s1m50s2m2m10s2m20s