f4e3b170

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

Restructure mutation example to assert full coverage in CI

- Move all test specs from sydtest-mutation-example to sydtest-mutation-example-gen
  so the example library has no test component and can be safely instrumented
- Use sydtest-discover in sydtest-mutation-example-gen to prevent bypassing sydTest
- Rewrite DoLib to use Writer so it's testable with exact assertions
- Add DisableMutations annotation to UntestedLib and constBoolDisabledPolymorphic
- Change constBoolDisabledPolymorphic from partial (ConstBool only) to full disable
  so that removing the AbsBinds fix in the plugin causes uncovered mutations,
  failing the mutation check via assertNoneUncovered
- Add assertNoneUncovered parameter (default true) to assertMutationScore/mutationCheck
- Change mutation-checks.nix to use .check for the example (not .report)
  so nix flake check fails if any mutations survive or are uncovered
- Use libraries + tests split so only the library is instrumented, not gen's test suite

Suite timing

Time to Start Worker time Duration Time to finish
Config 0s 2s 2s 2s
Eval 3s 37s 37s 40s
Build 6s 54m16s 29m26s 29m33s
Test - - - -
Deploy - - - -
Suite 0s 54m56s 29m33s 29m33s

Timeline

0s1m2m3m4m5m6m7m8m9m10m11m12m13m14m15m16m17m18m19m20m21m22m23m24m25m26m27m28m29m