ci: use gcovr 5.0 to generate code coverage reports
Change-Id: Ib7284d1616f9bce527aa98ccbb32e58d0bfa9dfb
diff --git a/.jenkins.d/30-coverage.sh b/.jenkins.d/30-coverage.sh
index 6a8ad44..05418fa 100755
--- a/.jenkins.d/30-coverage.sh
+++ b/.jenkins.d/30-coverage.sh
@@ -2,34 +2,32 @@
set -ex
if [[ $JOB_NAME == *"code-coverage" ]]; then
- gcovr --object-directory=build \
- --output=build/coverage.xml \
- --exclude="$PWD/(tests|websocketpp)" \
- --root=. \
- --xml
+ # Generate an XML report (Cobertura format) and a detailed HTML report using gcovr
+ # Note: trailing slashes are important in the paths below. Do not remove them!
+ gcovr -j$WAF_JOBS \
+ --object-directory build \
+ --exclude tests/ \
+ --exclude websocketpp/ \
+ --exclude-throw-branches \
+ --exclude-unreachable-branches \
+ --print-summary \
+ --html-details build/gcovr/ \
+ --xml build/coverage.xml
- # Generate also a detailed HTML output, but using lcov (better results)
+ # Generate a detailed HTML report using lcov
lcov --quiet \
--capture \
--directory . \
+ --exclude "$PWD/tests/*" \
+ --exclude "$PWD/websocketpp/*" \
--no-external \
--rc lcov_branch_coverage=1 \
- --output-file build/coverage-with-tests-and-websocketpp.info
-
- lcov --quiet \
- --remove build/coverage-with-tests-and-websocketpp.info "$PWD/websocketpp/*" \
- --rc lcov_branch_coverage=1 \
- --output-file build/coverage-with-tests.info
-
- lcov --quiet \
- --remove build/coverage-with-tests.info "$PWD/tests/*" \
- --rc lcov_branch_coverage=1 \
--output-file build/coverage.info
genhtml --branch-coverage \
--demangle-cpp \
--legend \
- --output-directory build/coverage \
+ --output-directory build/lcov \
--title "NFD unit tests" \
build/coverage.info
fi