We generate coverage report using llvm-cov for C++ project, but sonar shows 0.0% coverage. We used different formats of reposts - txt, html, lcov. Could not understand problem from logs, processing of repots shows correct result. I couldn’t attach full repot because the size is too big - 32 MB.
Filename Regions Missed Regions Cover Functions Missed Functions Executed Lines Missed Lines Cover
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
...
source/server/overload_manager_impl.cc 159 131 17.61% 24 18 25.00% 225 188 16.44%
source/server/proto_descriptors.cc 34 20 41.18% 1 0 100.00% 39 0 100.00%
source/server/server.cc 448 190 57.59% 43 14 67.44% 651 158 75.73%
source/server/ssl_context_manager.cc 10 7 30.00% 7 6 14.29% 21 15 28.57%
source/server/watchdog_impl.cc 2 0 100.00% 2 0 100.00% 11 0 100.00%
source/server/worker_impl.cc 62 27 56.45% 18 8 55.56% 125 46 63.20%
Files which contain no functions:
bazel-out/k8-fastbuild/bin/include/envoy/common/_virtual_includes/base_includes/envoy/common/platform.h 0 0 - 0 0 - 0 0 -
bazel-out/k8-fastbuild/bin/include/envoy/stats/_virtual_includes/primitive_stats_macros/envoy/stats/primitive_stats_macros.h 0 0 - 0 0 - 0 0 -
bazel-out/k8-fastbuild/bin/source/common/common/_virtual_includes/logger_impl_lib_standard/common/common/logger_impl.h 0 0 - 0 0 - 0 0 -
bazel-out/k8-fastbuild/bin/source/common/common/_virtual_includes/version_includes/common/common/version_number.h 0 0 - 0 0 - 0 0 -
bazel-out/k8-fastbuild/bin/source/common/config/_virtual_includes/api_version_lib/common/config/api_version.h 0 0 - 0 0 - 0 0 -
bazel-out/k8-fastbuild/bin/source/common/config/_virtual_includes/version_converter_lib/common/config/version_converter.h 0 0 - 0 0 - 0 0 -
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
TOTAL 38323 25589 33.23% 7330 4082 44.31% 57883 36660 36.67%
Report is generated using shell script:
COVERAGE_IGNORE_REGEX="(/external/|pb\.(validate\.)?(h|cc)|/chromium_url/|/test/|/tmp|/source/extensions/quic_listeners/quiche/)"
COVERAGE_BINARY="bazel-bin/test/coverage/coverage_tests"
COVERAGE_DATA="${COVERAGE_DIR}/coverage.dat"
echo "Merging coverage data..."
llvm-profdata merge -sparse -o ${COVERAGE_DATA} $(find -L bazel-out/k8-fastbuild/testlogs/test/coverage/coverage_tests/ -name coverage.dat)
echo "Generating report..."
llvm-cov show "${COVERAGE_BINARY}" -instr-profile="${COVERAGE_DATA}" -Xdemangler=c++filt \
-ignore-filename-regex="${COVERAGE_IGNORE_REGEX}" -output-dir=${COVERAGE_DIR} -format=text