Skip to content
2 changes: 1 addition & 1 deletion CMakePresets.json
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,7 @@
"inherits": ["ci-build", "build-tests", "build-qt", "build-grpc", "build-asio", "ci-unix", "ci-clang"],
"cacheVariables": {
"RPP_ENABLE_COVERAGE": "ON",
"CMAKE_CXX_FLAGS": "-O0 -g -fprofile-instr-generate -fcoverage-mapping --coverage",
"CMAKE_CXX_FLAGS": "-O0 -g -fprofile-instr-generate -fcoverage-mapping",
"RPP_BUILD_TESTS_TOGETHER" : true
}
},
Expand Down
10 changes: 4 additions & 6 deletions cmake/coverage.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,12 @@ if (NOT RPP_BUILD_TESTS_TOGETHER)
message( FATAL_ERROR "Expected to set RPP_BUILD_TESTS_TOGETHER flag when build coverage via llvm cov")
endif()

set(RPP_COVERAGE_TARGETS -instr-profile=${RPP_TEST_RESULTS_DIR}/results.profdata --object $<TARGET_FILE:test_rpp> --object $<TARGET_FILE:test_rppqt> --object $<TARGET_FILE:test_rppgrpc>)
set(RPP_COVERAGE_TARGETS -instr-profile=${RPP_TEST_RESULTS_DIR}/results.profdata -object $<TARGET_FILE:test_rpp> -object $<TARGET_FILE:test_rppqt> -object $<TARGET_FILE:test_rppgrpc>)

add_custom_target(
coverage
COMMAND llvm-profdata merge -sparse=true ${RPP_TEST_RESULTS_DIR}/test_rpp.profraw ${RPP_TEST_RESULTS_DIR}/test_rppqt.profraw ${RPP_TEST_RESULTS_DIR}/test_rppgrpc.profraw -o ${RPP_TEST_RESULTS_DIR}/results.profdata

COMMAND llvm-cov report --ignore-filename-regex=build|tests ${RPP_COVERAGE_TARGETS}
COMMAND llvm-cov show --ignore-filename-regex=build|tests --show-branches=count --show-expansions --show-line-counts --show-line-counts-or-regions --show-regions ${RPP_COVERAGE_TARGETS} > ${RPP_TEST_RESULTS_DIR}/coverage.txt
COMMAND llvm-profdata merge -o ${RPP_TEST_RESULTS_DIR}/results.profdata ${RPP_TEST_RESULTS_DIR}/*.profraw
COMMAND llvm-cov report --ignore-filename-regex=build ${RPP_COVERAGE_TARGETS}
COMMAND llvm-cov show --ignore-filename-regex=build --show-branches=count ${RPP_COVERAGE_TARGETS} > ${RPP_TEST_RESULTS_DIR}/coverage.txt
COMMENT "Generating coverage report"
VERBATIM
)