056edebd

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

Add `ignore` config option to skip mutating selected calls

The plugin now reads an `ignore` list from the YAML config (`--config=PATH`).
An expression whose syntactic head matches any name on the list is left
untouched, and so are all of its sub-expressions. Use this to silence noisy
mutations on calls whose removal or modification does not affect observable
behaviour, e.g.

    ignore:
      - logDebug
      - logInfo

Without this, the `RemoveAction` operator turns
`do { logDebug "x"; doWork }` into `do { doWork }`, which no test will fail
on, producing surviving mutants that are pure noise.

Suite timing

Time to Start Worker time Duration Time to finish
Config 0s 3s 3s 3s
Eval 3s 8s 8s 11s
Build 5s 25s 12s 17s
Test - - - -
Deploy - - - -
Suite 0s 37s 17s 17s

Timeline

0s10s