Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
Private Beta
-
None
-
None
Description
Currently we have a coverage build, but it's a little lacking because the coverage instrumentation only flushes on a successful exit. In all of our external minicluster tests, we kill -9 the daemons, so they don't get a chance to flush their coverage.
The two ways I can think of to fix this are:
1) add an RPC like "FlushCoverage()" which would, if coverage is enabled, call __gcov_flush(). We could have the ext minicluster call this before sending SIGKILL
2) switch to something like AsanCoverage (https://code.google.com/p/address-sanitizer/wiki/AsanCoverage) which has a mode where it keeps running coverage data in an mmaped file