ci: use gcovr 5.0 to generate code coverage reports

Change-Id: I680b476bb93cffff389071437e7a818f16b6334d
This commit is contained in:
Davide Pesavento committed 2021-08-30 19:10:36 -04:00
1 parent c4343232bc
commit 8c35390e61
3 files changed
+18 -13

No files matched your search

+3
View File
@@ -2,6 +2,9 @@
set -e
source .jenkins.d/util.sh
if has Linux $NODE_LABELS; then
export PATH="~/.local/bin${PATH:+:}${PATH}"
fi
export CACHE_DIR=${CACHE_DIR:-/tmp}
export WAF_JOBS=${WAF_JOBS:-1}
[[ $JOB_NAME == *"code-coverage" ]] && export DISABLE_ASAN=yes
+2 -1
View File
@@ -35,7 +35,8 @@ elif has Ubuntu $NODE_LABELS; then
case $JOB_NAME in
*code-coverage)
sudo apt-get -qy install gcovr lcov
sudo apt-get -qy install lcov python3-pip
pip3 install --user --upgrade --upgrade-strategy=eager 'gcovr~=5.0'
;;
*Docs)
sudo apt-get -qy install python3-pip
+13 -12
View File
@@ -2,29 +2,30 @@
set -ex
if [[ $JOB_NAME == *"code-coverage" ]]; then
gcovr --object-directory=build \
--output=build/coverage.xml \
--exclude="$PWD/tests" \
--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 \
--filter tools/ \
--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/*" \
--no-external \
--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 "ndn-tools unit tests" \
build/coverage.info
fi