Index: build/coverage_wrapper.py |
diff --git a/build/coverage_wrapper.py b/build/coverage_wrapper.py |
index c1db754c94c1b4c323bda1551f482d007dc0fb50..b47f1a175e623e11d719f0586063beab5c40b1fc 100755 |
--- a/build/coverage_wrapper.py |
+++ b/build/coverage_wrapper.py |
@@ -11,18 +11,28 @@ import subprocess |
import sys |
exclusions = [ |
+ 'buildtools', |
'src/third_party', |
'third_party', |
'test', |
'testing', |
] |
+def remove_failsafe(string_list, item): |
+ try: |
+ string_list.remove(item) |
+ except: |
+ pass |
+ |
args = sys.argv[1:] |
text = ' '.join(sys.argv[2:]) |
for exclusion in exclusions: |
if re.search(r'\-o obj/%s[^ ]*\.o' % exclusion, text): |
- args.remove('-fprofile-arcs') |
- args.remove('-ftest-coverage') |
+ remove_failsafe(args, '-fprofile-arcs') |
+ remove_failsafe(args, '-ftest-coverage') |
+ remove_failsafe(args, '-fsanitize-coverage=func') |
+ remove_failsafe(args, '-fsanitize-coverage=bb') |
+ remove_failsafe(args, '-fsanitize-coverage=edge') |
break |
sys.exit(subprocess.check_call(args)) |