Skip to content
Snippets Groups Projects
Commit 55da1f84 authored by Stéphane Del Pino's avatar Stéphane Del Pino
Browse files

Merge branch 'feature/fastcov' into 'develop'

Add support for fastcov

See merge request !36
parents 75e383ff ba905fe7
No related branches found
No related tags found
1 merge request!36Add support for fastcov
...@@ -335,6 +335,31 @@ if("${CMAKE_BUILD_TYPE}" STREQUAL "Coverage") ...@@ -335,6 +335,31 @@ if("${CMAKE_BUILD_TYPE}" STREQUAL "Coverage")
message(FATAL_ERROR "Cannot find a proper gcov tool, cannot perform coverage.") message(FATAL_ERROR "Cannot find a proper gcov tool, cannot perform coverage.")
endif() endif()
find_program(FASTCOV fastcov fastcov.py)
if (FASTCOV AND (CMAKE_CXX_COMPILER_ID STREQUAL "GNU") AND (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER "9"))
add_custom_target(coverage
ALL # in coverage mode we do coverage!
# Run tests
COMMAND ${CMAKE_CTEST_COMMAND} -j ${PROCESSOR_COUNT}
COMMAND ${FASTCOV} -q --gcov "${GCOV_BIN}"
--include "${PUGS_SOURCE_DIR}/src"
--exclude "${PUGS_SOURCE_DIR}/src/main.cpp"
--exclude "${PUGS_SOURCE_DIR}/src/utils/BacktraceManager.*"
--lcov -o coverage.info -n
COMMAND ${LCOV} --gcov "${GCOV_BIN}" --list coverage.info
DEPENDS unit_tests mpi_unit_tests
COMMENT "Running test coverage."
WORKING_DIRECTORY "${PUGS_BINARY_DIR}"
)
else()
add_custom_target(coverage add_custom_target(coverage
ALL # in coverage mode we do coverage! ALL # in coverage mode we do coverage!
# Cleanup previously generated profiling data # Cleanup previously generated profiling data
...@@ -354,7 +379,7 @@ if("${CMAKE_BUILD_TYPE}" STREQUAL "Coverage") ...@@ -354,7 +379,7 @@ if("${CMAKE_BUILD_TYPE}" STREQUAL "Coverage")
# Remove unwanted stuff # Remove unwanted stuff
COMMAND ${LCOV} --gcov "${GCOV_BIN}" --remove coverage_extract.info --output-file coverage.info COMMAND ${LCOV} --gcov "${GCOV_BIN}" --remove coverage_extract.info --output-file coverage.info
'${PUGS_SOURCE_DIR}/src/main.cpp' '${PUGS_SOURCE_DIR}/src/main.cpp'
'${PUGS_SOURCE_DIR}/utils/BacktraceManager.*' '${PUGS_SOURCE_DIR}/src/utils/BacktraceManager.*'
COMMAND ${LCOV} --gcov "${GCOV_BIN}" --list coverage.info COMMAND ${LCOV} --gcov "${GCOV_BIN}" --list coverage.info
...@@ -362,6 +387,8 @@ if("${CMAKE_BUILD_TYPE}" STREQUAL "Coverage") ...@@ -362,6 +387,8 @@ if("${CMAKE_BUILD_TYPE}" STREQUAL "Coverage")
COMMENT "Running test coverage." COMMENT "Running test coverage."
WORKING_DIRECTORY "${PUGS_BINARY_DIR}" WORKING_DIRECTORY "${PUGS_BINARY_DIR}"
) )
endif()
find_program(GENHTML genhtml) find_program(GENHTML genhtml)
if(NOT GENHTML) if(NOT GENHTML)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment