summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2019-04-14 12:02:05 +0200
committerDavid Robillard <d@drobilla.net>2019-04-14 15:07:02 +0200
commit6134be699c724d4da6883d9bd002117aa2fa51a3 (patch)
treed7bf48e6a02327aa1491b7a547d2198265cadb20
parent6d7dd5907c6ff48bf8ce5d802d944005c140007b (diff)
downloadautowaf-6134be699c724d4da6883d9bd002117aa2fa51a3.tar.gz
autowaf-6134be699c724d4da6883d9bd002117aa2fa51a3.tar.bz2
autowaf-6134be699c724d4da6883d9bd002117aa2fa51a3.zip
Print test coverage summary
-rw-r--r--extras/autowaf.py15
1 files changed, 14 insertions, 1 deletions
diff --git a/extras/autowaf.py b/extras/autowaf.py
index dcc8b25..f31c594 100644
--- a/extras/autowaf.py
+++ b/extras/autowaf.py
@@ -1029,7 +1029,7 @@ class TestContext(Build.BuildContext):
self.gen_coverage()
if os.path.exists('coverage/index.html'):
- self.log_good('COVERAGE', '<file://%s>',
+ self.log_good('REPORT', '<file://%s>',
os.path.abspath('coverage/index.html'))
successes = scope.n_total - scope.n_failed
@@ -1101,6 +1101,19 @@ class TestContext(Build.BuildContext):
'cov.lcov'],
stdout=log, stderr=log)
+ summary = subprocess.check_output(
+ ['lcov', '--summary',
+ '--rc', 'lcov_branch_coverage=1',
+ 'cov.lcov'],
+ stderr=subprocess.STDOUT).decode('ascii')
+
+ import re
+ lines = re.search('lines\.*: (.*)%.*', summary).group(1)
+ functions = re.search('functions\.*: (.*)%.*', summary).group(1)
+ branches = re.search('branches\.*: (.*)%.*', summary).group(1)
+ self.log_good('COVERAGE', '%s%% lines, %s%% functions, %s%% branches',
+ lines, functions, branches)
+
except Exception:
Logs.warn('Failed to run lcov to generate coverage report')