blob: 83edcdae837cffbeb012404fb85bf552731c5bc7 [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
Davide Pesavento11876aa2025-04-04 17:00:32 -040011# Generate a detailed HTML report and an XML report in Cobertura format using gcovr
Davide Pesaventob9792dd2025-03-25 02:18:45 -040012# Note: trailing slashes are important in the paths below. Do not remove them!
Davide Pesavento11876aa2025-04-04 17:00:32 -040013uvx --from 'git+https://github.com/gcovr/gcovr@99b82e7' gcovr \
14 --decisions \
15 --filter core/ \
16 --filter daemon/ \
17 --filter tools/ \
Davide Pesaventob9792dd2025-03-25 02:18:45 -040018 --exclude-throw-branches \
19 --exclude-unreachable-branches \
20 --cobertura build/coverage.xml \
21 --html-details build/gcovr/ \
Davide Pesavento11876aa2025-04-04 17:00:32 -040022 --txt-summary \
23 build
Davide Pesaventob9792dd2025-03-25 02:18:45 -040024
25# Generate a detailed HTML report using lcov
Davide Pesavento11876aa2025-04-04 17:00:32 -040026lcov \
27 --quiet \
28 --capture \
29 --directory . \
30 --include "$PWD/core/*" \
31 --include "$PWD/daemon/*" \
32 --include "$PWD/tools/*" \
33 --ignore-errors count,inconsistent \
34 --branch-coverage \
35 --rc no_exception_branch=1 \
36 --output-file build/coverage.info
Davide Pesaventob9792dd2025-03-25 02:18:45 -040037
Davide Pesavento11876aa2025-04-04 17:00:32 -040038genhtml \
39 --quiet \
40 --branch-coverage \
41 --demangle-cpp \
42 --legend \
43 --missed \
44 --show-proportion \
45 --title "NFD $(cat VERSION.info)" \
46 --output-directory build/lcov \
47 build/coverage.info