-
Notifications
You must be signed in to change notification settings - Fork 166
Description
Context
We are using grcov to compute coverage in CI in the uutils/coreutils and we have a scale problem. Our testsuite produces 1 .profraw file (5 MB) for each invocation of the tested binary, which is thousands of times among the whole testsuite.
This creates over 80 GB of trace files, which exceeds the storage capacity of our CI system.
Therefore, I was thinking of splitting the testsuite execution into batches (running the testsuite per-util, there is ~100) and to call grcov multiple to create several lcov files.
The issue here is that grcov invocations are quite long, and are "duplicating" work, so that's not a viable option either.
Ideal workflow
Firstly, I'd like to aggregate the batches of .profraw files manually into .profdata using llvm-profdata, mainly because at this point I only need to aggregate the trace files I can delay the creation report after, and I will spare a lot of time.
Then, ideally, I would use grcov and aggregate the .profdata using grcov and create an lcov report from them.
Would it be possible for grcov to accept profdata files as inputs ? Is there a particular concern that would prevent a trivial implementation of this feature ?
I'm willing to make a contribution if necessary