blob: a29be1b5ee623602f7c2fcf6b5ab1ae675d133a3 [file] [log] [blame]
Alexander Afanasyev4d4e7252014-10-25 12:21:53 -07001#!/usr/bin/env bash
Davide Pesaventob9792dd2025-03-25 02:18:45 -04002set -eo pipefail
Davide Pesaventoe0edc4c2016-09-13 18:29:52 +00003
Davide Pesaventob9792dd2025-03-25 02:18:45 -04004[[ $JOB_NAME == *code-coverage ]] || exit 0
Davide Pesavento8d61c032017-04-29 20:06:33 -04005
Davide Pesaventob9792dd2025-03-25 02:18:45 -04006export FORCE_COLOR=1
7export UV_NO_MANAGED_PYTHON=1
Davide Pesavento8d61c032017-04-29 20:06:33 -04008
Davide Pesaventob9792dd2025-03-25 02:18:45 -04009set -x
10
11# Generate an XML report (Cobertura format) and a detailed HTML report using gcovr
12# Note: trailing slashes are important in the paths below. Do not remove them!
13uvx gcovr@5.2 \
14 --object-directory build \
15 --exclude tests/ \
16 --exclude websocketpp/ \
17 --exclude-throw-branches \
18 --exclude-unreachable-branches \
19 --cobertura build/coverage.xml \
20 --html-details build/gcovr/ \
21 --print-summary
22
23# Generate a detailed HTML report using lcov
24lcov --quiet \
25 --capture \
26 --directory . \
27 --exclude "$PWD/tests/*" \
28 --exclude "$PWD/websocketpp/*" \
29 --no-external \
30 --rc lcov_branch_coverage=1 \
31 --output-file build/coverage.info
32
33genhtml --branch-coverage \
34 --demangle-cpp \
35 --legend \
36 --output-directory build/lcov \
37 --title "NFD unit tests" \
38 build/coverage.info