db1d1982

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.

Suite timing

Time to Start Worker time Duration Time to finish
Config 0s 3s 3s 2s
Eval 2s 38s 38s 41s
Build 6s 1h45m24s 103h36m55s 103h37m01s
Test - - - -
Deploy - - - -
Suite 0s 1h46m06s 103h37m02s 103h37m01s