Description[coverage] Enable sanitizer coverage.
This adds sanitizer-coverage compilation, test-runner
features and post processing.
Sanitizer coverage is expected to be used together with
asan.
During test runner execution, the produced sancov files
are disambiguated and match the pattern:
<executable name>.test.<test id>.sancov.
Two additional scripts are added for merging raw sancov
files and for generating json data containing all
instrumented lines + all covered lines from merged sancov
files. Both scripts use multiprocessing for speed.
The json data will later be uploaded to google storage
for further use, e.g. to show coverage data in rietveld.
Sancov documentation:
http://clang.llvm.org/docs/SanitizerCoverage.html
BUG=chromium:568949
LOG=n
NOTRY=true
TEST=python -m unittest sancov_formatter_test
TEST=python -m unittest sancov_merger_test
Committed: https://crrev.com/33ffced5ccd4b33f0c59e580e624cb28653a8c01
Cr-Commit-Position: refs/heads/master@{#34578}
Patch Set 1 #Patch Set 2 : Clean ups #Patch Set 3 : Exclude libcxx from instrumentation. #Patch Set 4 : Clean up #Patch Set 5 : Rebase #Patch Set 6 : Formatter prototype #Patch Set 7 : Clean up #Patch Set 8 : More formatter functionality #Patch Set 9 : Add tests and more refactoring. #Patch Set 10 : More docu #Patch Set 11 : Documentation #
Total comments: 20
Patch Set 12 : Review kjellander #
Total comments: 18
Patch Set 13 : Review Andrii #
Total comments: 8
Patch Set 14 : Review kjellander #Patch Set 15 : Logging + exe blacklist #
Messages
Total messages: 34 (14 generated)
|