ci: upgrade gcovr to the latest version
And adjust lcov invocation for lcov 2.1
Change-Id: I17d0006ef7f0795b142ab2e3b77d0fe04b10f0df
diff --git a/.jenkins.d/00-deps.sh b/.jenkins.d/00-deps.sh
index abb84a4..09e5cec 100755
--- a/.jenkins.d/00-deps.sh
+++ b/.jenkins.d/00-deps.sh
@@ -34,7 +34,7 @@
FORMULAE=(boost openssl pkgconf)
case $JOB_NAME in
*code-coverage)
- APT_PKGS+=(lcov)
+ APT_PKGS+=(lcov libjson-xs-perl)
;;
*Docs)
APT_PKGS+=(doxygen graphviz)
diff --git a/.jenkins.d/30-coverage.sh b/.jenkins.d/30-coverage.sh
index a29be1b..83edcda 100755
--- a/.jenkins.d/30-coverage.sh
+++ b/.jenkins.d/30-coverage.sh
@@ -8,31 +8,40 @@
set -x
-# Generate an XML report (Cobertura format) and a detailed HTML report using gcovr
+# Generate a detailed HTML report and an XML report in Cobertura format using gcovr
# Note: trailing slashes are important in the paths below. Do not remove them!
-uvx gcovr@5.2 \
- --object-directory build \
- --exclude tests/ \
- --exclude websocketpp/ \
+uvx --from 'git+https://github.com/gcovr/gcovr@99b82e7' gcovr \
+ --decisions \
+ --filter core/ \
+ --filter daemon/ \
+ --filter tools/ \
--exclude-throw-branches \
--exclude-unreachable-branches \
--cobertura build/coverage.xml \
--html-details build/gcovr/ \
- --print-summary
+ --txt-summary \
+ build
# 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.info
+lcov \
+ --quiet \
+ --capture \
+ --directory . \
+ --include "$PWD/core/*" \
+ --include "$PWD/daemon/*" \
+ --include "$PWD/tools/*" \
+ --ignore-errors count,inconsistent \
+ --branch-coverage \
+ --rc no_exception_branch=1 \
+ --output-file build/coverage.info
-genhtml --branch-coverage \
- --demangle-cpp \
- --legend \
- --output-directory build/lcov \
- --title "NFD unit tests" \
- build/coverage.info
+genhtml \
+ --quiet \
+ --branch-coverage \
+ --demangle-cpp \
+ --legend \
+ --missed \
+ --show-proportion \
+ --title "NFD $(cat VERSION.info)" \
+ --output-directory build/lcov \
+ build/coverage.info