By: Tom Sydney Kerckhove <syd@cs-syd.eu>
Skip coverage phase when manifest has no records
When every module in the instrumented library is opted out (e.g. each
src/*.hs annotated with {-# ANN module ("DisableMutations" :: String) #-}),
the mutation manifest is empty. The coverage phase was still spawning
one child per leaf test, paying the full per-test setup cost (tmp-postgres
spin-up, etc.) to record zero mutation IDs.
Read the manifests first; if there are no records, write an empty
augmented manifest and return. The mutation phase already handles the
empty-records case (mapConcurrently on []) so no change there.
| Time to Start | Worker time | Duration | Time to finish | Idle | |
| Config | 0s | 3s | 3s | 2s | 0s |
| Eval | 2s | 38s | 38s | 41s | 0s |
| Build | 6s | 1h45m24s | 103h36m55s | 103h37m01s | 0s |
| Suite | 0s | 1h46m06s | 103h37m02s | 103h37m01s | 102h57m35s |