blob: 18e185973fad62ead43270e6b50469ab1df90966 [file] [log] [blame]
Zhiyi Zhang8617a792017-01-17 16:45:56 -08001#!/usr/bin/env bash
Davide Pesavento440000d2025-03-25 15:50:12 -04002set -eo pipefail
Zhiyi Zhang8617a792017-01-17 16:45:56 -08003
Davide Pesavento440000d2025-03-25 15:50:12 -04004[[ $JOB_NAME == *code-coverage ]] || exit 0
Zhiyi Zhang8617a792017-01-17 16:45:56 -08005
Davide Pesavento440000d2025-03-25 15:50:12 -04006export FORCE_COLOR=1
7export UV_NO_MANAGED_PYTHON=1
Davide Pesaventocf9ffe42018-01-21 22:21:53 -05008
Davide Pesavento440000d2025-03-25 15:50:12 -04009set -x
10
Davide Pesaventof3cc5562025-04-04 14:18:11 -040011# Generate a detailed HTML report and an XML report in Cobertura format using gcovr
Davide Pesavento440000d2025-03-25 15:50:12 -040012# Note: trailing slashes are important in the paths below. Do not remove them!
Davide Pesaventof3cc5562025-04-04 14:18:11 -040013uvx --from 'git+https://github.com/gcovr/gcovr@99b82e7' gcovr \
14 --decisions \
Davide Pesavento440000d2025-03-25 15:50:12 -040015 --filter src/ \
16 --exclude-throw-branches \
17 --exclude-unreachable-branches \
18 --cobertura build/coverage.xml \
19 --html-details build/gcovr/ \
Davide Pesaventof3cc5562025-04-04 14:18:11 -040020 --txt-summary \
21 build
Davide Pesavento440000d2025-03-25 15:50:12 -040022
23# Generate a detailed HTML report using lcov
Davide Pesaventof3cc5562025-04-04 14:18:11 -040024lcov \
25 --quiet \
26 --capture \
27 --directory . \
28 --include "$PWD/src/*" \
29 --ignore-errors count,inconsistent \
30 --branch-coverage \
31 --rc no_exception_branch=1 \
32 --output-file build/coverage.info
Davide Pesavento440000d2025-03-25 15:50:12 -040033
Davide Pesaventof3cc5562025-04-04 14:18:11 -040034genhtml \
35 --quiet \
36 --branch-coverage \
37 --demangle-cpp \
38 --legend \
39 --missed \
40 --show-proportion \
41 --title "ndncert unit tests" \
42 --output-directory build/lcov \
43 build/coverage.info