2018-06-20 19:00:07 +08:00
|
|
|
#!/bin/sh
|
|
|
|
#
|
|
|
|
# Author: Alex Bennée <alex.bennee@linaro.org>
|
|
|
|
#
|
|
|
|
# Summerise the state of code coverage with gcovr and tweak the output
|
2021-02-11 20:27:36 +08:00
|
|
|
# to be more sane on CI runner. As we expect to be executed on a
|
2018-06-20 19:00:07 +08:00
|
|
|
# throw away CI instance we do spam temp files all over the shop. You
|
|
|
|
# most likely don't want to execute this script but just call gcovr
|
|
|
|
# directly. See also "make coverage-report"
|
|
|
|
#
|
|
|
|
# This code is licensed under the GPL version 2 or later. See
|
|
|
|
# the COPYING file in the top-level directory.
|
|
|
|
|
|
|
|
# first generate the coverage report
|
|
|
|
gcovr -p -o raw-report.txt
|
|
|
|
|
|
|
|
# strip the full-path and line markers
|
|
|
|
sed s@$PWD\/@@ raw-report.txt | sed s/[0-9]\*[,-]//g > simplified.txt
|
|
|
|
|
|
|
|
# reflow lines that got split
|
|
|
|
awk '/.[ch]$/ { printf("%s", $0); next } 1' simplified.txt > rejoined.txt
|
|
|
|
|
|
|
|
# columnify
|
|
|
|
column -t rejoined.txt > final.txt
|
|
|
|
|
|
|
|
# and dump, stripping out 0% coverage
|
|
|
|
grep -v "0%" final.txt
|