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
Review URL: https://codereview.chromium.org/1737263003
Cr-Commit-Position: refs/heads/master@{#34578}
Reason for revert:
This breaks `gclient sync` because v8_target_arch isn't defined.
gyp: name 'v8_target_arch' is not defined while evaluating condition
'(OS=="linux" or OS=="mac") and (target_arch=="ia32" or target_arch=="x64") and
(v8_target_arch!="x87" and v8_target_arch!="x32") and coverage==0' in
/media/jfb/ssd/v8/v8/build/all.gyp
Error: Command '/usr/bin/python v8/build/gyp_v8' returned non-zero exit status 1
in /media/jfb/ssd/v8
Original issue's description:
> [coverage] Filter some files from instrumentation.
>
> This filters test and third_party files to get a speed-up
> when running tests and when collecting profile data.
>
> BUG=chromium:568949
> LOG=n
>
> Committed: https://crrev.com/761ee31be5ab4fde05c294e5d632608fbaea8ad4
> Cr-Commit-Position: refs/heads/master@{#34216}
>
> Committed: https://crrev.com/906db7448702a6ac9fab2a445c57cc85f6dd1b1a
> Cr-Commit-Position: refs/heads/master@{#34253}
TBR=tandrii@chromium.org,kjellander@chromium.org,machenbach@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:568949
Review URL: https://codereview.chromium.org/1737433002
Cr-Commit-Position: refs/heads/master@{#34258}
Reason for revert:
[Sheriff] Breaks local make builds.
Original issue's description:
> [coverage] Filter some files from instrumentation.
>
> This filters test and third_party files to get a speed-up
> when running tests and when collecting profile data.
>
> BUG=chromium:568949
> LOG=n
> NOTRY=true
>
> Committed: https://crrev.com/761ee31be5ab4fde05c294e5d632608fbaea8ad4
> Cr-Commit-Position: refs/heads/master@{#34216}
TBR=tandrii@chromium.org,kjellander@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:568949
Review URL: https://codereview.chromium.org/1727383002
Cr-Commit-Position: refs/heads/master@{#34247}
This filters test and third_party files to get a speed-up
when running tests and when collecting profile data.
BUG=chromium:568949
LOG=n
NOTRY=true
Review URL: https://codereview.chromium.org/1730543002
Cr-Commit-Position: refs/heads/master@{#34216}