From 17cf8da254d88fa42cbe9e7bb486147def47c26b Mon Sep 17 00:00:00 2001 From: ROUVREAU Vincent Date: Fri, 6 Dec 2019 15:27:15 +0100 Subject: Modify boost tests to be more verbose and errors in colour. I kept coverage tests (was only used by Jenkins) and they still can be activated through an option --- src/cmake/modules/GUDHI_boost_test.cmake | 26 +++++++++++++++++++++++++ src/cmake/modules/GUDHI_compilation_flags.cmake | 2 ++ src/cmake/modules/GUDHI_test_coverage.cmake | 26 ------------------------- 3 files changed, 28 insertions(+), 26 deletions(-) create mode 100644 src/cmake/modules/GUDHI_boost_test.cmake delete mode 100644 src/cmake/modules/GUDHI_test_coverage.cmake (limited to 'src/cmake') diff --git a/src/cmake/modules/GUDHI_boost_test.cmake b/src/cmake/modules/GUDHI_boost_test.cmake new file mode 100644 index 00000000..c3b29883 --- /dev/null +++ b/src/cmake/modules/GUDHI_boost_test.cmake @@ -0,0 +1,26 @@ +if (WITH_GUDHI_BOOST_TEST_COVERAGE) + # Make CTest output XML coverage report - WITH_GUDHI_BOOST_TEST_COVERAGE must be set - default is OFF + if (GCOVR_PATH) + # for gcovr to make coverage reports - Corbera Jenkins plugin + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage") + endif() + if (GPROF_PATH) + # for gprof to make coverage reports - Jenkins + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pg") + endif() + set(GUDHI_UT_LOG_FORMAT "--log_format=XML") + set(GUDHI_UT_LOG_SINK "--log_sink=${CMAKE_BINARY_DIR}/${unitary_test}_UT.xml") + set(GUDHI_UT_LOG_LEVEL "--log_level=test_suite") + set(GUDHI_UT_REPORT_LEVEL "--report_level=no") +else (WITH_GUDHI_BOOST_TEST_COVERAGE) + # Make CTest more verbose and color output + set(GUDHI_UT_LOG_LEVEL "--color_output") + set(GUDHI_UT_REPORT_LEVEL "--report_level=detailed") +endif(WITH_GUDHI_BOOST_TEST_COVERAGE) + +function(gudhi_add_boost_test unitary_test) + target_link_libraries(${unitary_test} ${Boost_UNIT_TEST_FRAMEWORK_LIBRARY}) + add_test(NAME ${unitary_test} COMMAND $ + ${GUDHI_UT_LOG_FORMAT} ${GUDHI_UT_LOG_SINK} + ${GUDHI_UT_LOG_LEVEL} ${GUDHI_UT_REPORT_LEVEL}) +endfunction() diff --git a/src/cmake/modules/GUDHI_compilation_flags.cmake b/src/cmake/modules/GUDHI_compilation_flags.cmake index 6cd2614d..34c2e065 100644 --- a/src/cmake/modules/GUDHI_compilation_flags.cmake +++ b/src/cmake/modules/GUDHI_compilation_flags.cmake @@ -73,3 +73,5 @@ if(CMAKE_BUILD_TYPE MATCHES Debug) else() message("++ Release compilation flags are: ${CMAKE_CXX_FLAGS} ${CMAKE_CXX_FLAGS_RELEASE}") endif() + +option(WITH_GUDHI_BOOST_TEST_COVERAGE "Report xml coverage files on boost tests" OFF) diff --git a/src/cmake/modules/GUDHI_test_coverage.cmake b/src/cmake/modules/GUDHI_test_coverage.cmake deleted file mode 100644 index bea5b2d6..00000000 --- a/src/cmake/modules/GUDHI_test_coverage.cmake +++ /dev/null @@ -1,26 +0,0 @@ - -if (GCOVR_PATH) - # for gcovr to make coverage reports - Corbera Jenkins plugin - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage") -endif() -if (GPROF_PATH) - # for gprof to make coverage reports - Jenkins - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pg") -endif() - -if (DEBUG_TRACES) - # Make CTest more verbose with DEBUG_TRACES - no XML output - set(GUDHI_UT_LOG_LEVEL "--log_level=all") - set(GUDHI_UT_REPORT_LEVEL "--report_level=detailed") -else() - set(GUDHI_UT_LOG_FORMAT "--log_format=XML") - set(GUDHI_UT_LOG_SINK "--log_sink=${CMAKE_BINARY_DIR}/${unitary_test}_UT.xml") - set(GUDHI_UT_LOG_LEVEL "--log_level=test_suite") - set(GUDHI_UT_REPORT_LEVEL "--report_level=no") -endif() - -function(gudhi_add_coverage_test unitary_test) - add_test(NAME ${unitary_test} COMMAND $ - ${GUDHI_UT_LOG_FORMAT} ${GUDHI_UT_LOG_SINK} - ${GUDHI_UT_LOG_LEVEL} ${GUDHI_UT_REPORT_LEVEL}) -endfunction() -- cgit v1.2.3