blob: 740cc3be11bf2004e34e915a4c77758a5b7e10ca [file] [log] [blame]
Alexander Afanasyeva87e0a82014-10-21 14:09:19 -04001#!/usr/bin/env bash
Davide Pesaventoee3ebeb2025-03-21 22:08:02 -04002set -eo pipefail
Davide Pesavento09348882016-09-17 02:39:44 +02003
Davide Pesaventoee3ebeb2025-03-21 22:08:02 -04004[[ $JOB_NAME == *code-coverage ]] || exit 0
Alexander Afanasyeve19643d2017-01-15 23:56:32 -08005
Davide Pesaventoee3ebeb2025-03-21 22:08:02 -04006export FORCE_COLOR=1
7export UV_NO_MANAGED_PYTHON=1
Alexander Afanasyeve19643d2017-01-15 23:56:32 -08008
Davide Pesaventoee3ebeb2025-03-21 22:08:02 -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 --filter ndn-cxx/ \
16 --exclude ndn-cxx/detail/nonstd/ \
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/ndn-cxx/detail/nonstd/*" \
28 --exclude "$PWD/tests/*" \
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 "ndn-cxx unit tests" \
38 build/coverage.info