From 703381ce12b79211c64a8ded04222d277f25cb6e Mon Sep 17 00:00:00 2001 From: Rodney Dawes Date: Tue, 7 Feb 2017 13:31:18 -0500 Subject: Make coverage reporting work. --- CMakeLists.txt | 27 ++++++++++++--------------- debian/control | 1 + tests/CMakeLists.txt | 5 +++++ tests/integration/CMakeLists.txt | 6 ++++++ tests/unit/CMakeLists.txt | 7 +++++++ 5 files changed, 31 insertions(+), 15 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 77e2cbf..7e4431a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -13,9 +13,6 @@ add_definitions( set(SERVICE_LIB ${PACKAGE}) set(SERVICE_EXEC "${PACKAGE}-service") -option(enable_tests "Build the package's automatic tests." ON) -option(enable_coverage "Generate code coverage reports." ON) - ## ## GNU standard paths ## @@ -69,20 +66,20 @@ endif() add_compile_options(-std=c++14 -fPIC -g) +add_subdirectory(src) +add_subdirectory(data) +add_subdirectory(po) + ## ## Testing & Coverage ## -if(${enable_tests}) - enable_testing() - if(${enable_coverage}) - find_package(CoverageReport) - endif() -endif() +enable_testing() +add_subdirectory(tests) +find_package(CoverageReport) +ENABLE_COVERAGE_REPORT( + TARGETS ${SERVICE_LIB} ${SERVICE_EXEC} + TESTS ${COVERAGE_TEST_TARGETS} + FILTER /usr/include ${CMAKE_BINARY_DIR}/* +) -add_subdirectory(src) -add_subdirectory(data) -add_subdirectory(po) -if (${enable_tests}) - add_subdirectory(tests) -endif () diff --git a/debian/control b/debian/control index 6deae40..92377d1 100644 --- a/debian/control +++ b/debian/control @@ -10,6 +10,7 @@ Build-Depends: cmake, libgudev-1.0-dev, libproperties-cpp-dev, # for coverage reports + gcovr, lcov, # for tests qt5-default, diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 7be2acd..d5fb909 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -33,3 +33,8 @@ add_test(cppcheck cppcheck --enable=all -USCHEMA_DIR --error-exitcode=2 --inline add_subdirectory(integration) add_subdirectory(unit) add_subdirectory(utils) + +set(COVERAGE_TEST_TARGETS + ${COVERAGE_TEST_TARGETS} + PARENT_SCOPE +) diff --git a/tests/integration/CMakeLists.txt b/tests/integration/CMakeLists.txt index 9ec6688..42d710e 100644 --- a/tests/integration/CMakeLists.txt +++ b/tests/integration/CMakeLists.txt @@ -16,9 +16,15 @@ set(TEST_LINK_LIBRARIES function(add_qt_test_by_name name) set(TEST_NAME ${name}) + set(COVERAGE_TEST_TARGETS ${COVERAGE_TEST_TARGETS} ${TEST_NAME} PARENT_SCOPE) add_executable (${TEST_NAME} ${TEST_NAME}.cpp) add_test(${TEST_NAME} ${TEST_NAME}) set_property(TEST ${TEST_NAME} APPEND PROPERTY ENVIRONMENT ${CTEST_ENVIRONMENT}) target_link_libraries(${TEST_NAME} ${SERVICE_LINK_LIBRARIES} ${QT_LINK_LIBRARIES} ${TEST_LINK_LIBRARIES} ${THREAD_LINK_LIBRARIES}) endfunction() add_qt_test_by_name(usb-manager-test) + +set(COVERAGE_TEST_TARGETS + ${COVERAGE_TEST_TARGETS} + PARENT_SCOPE +) diff --git a/tests/unit/CMakeLists.txt b/tests/unit/CMakeLists.txt index 9d8cad2..87fab3a 100644 --- a/tests/unit/CMakeLists.txt +++ b/tests/unit/CMakeLists.txt @@ -20,6 +20,7 @@ add_definitions( function(add_test_by_name name) set(TEST_NAME ${name}) + set(COVERAGE_TEST_TARGETS ${COVERAGE_TEST_TARGETS} ${TEST_NAME} PARENT_SCOPE) add_executable (${TEST_NAME} ${TEST_NAME}.cpp) add_test(${TEST_NAME} ${TEST_NAME}) set_property(TEST ${TEST_NAME} APPEND PROPERTY ENVIRONMENT ${CTEST_ENVIRONMENT}) @@ -30,6 +31,7 @@ add_test_by_name(rotation-lock-test) function(add_qt_test_by_name name) set(TEST_NAME ${name}) + set(COVERAGE_TEST_TARGETS ${COVERAGE_TEST_TARGETS} ${TEST_NAME} PARENT_SCOPE) add_executable (${TEST_NAME} ${TEST_NAME}.cpp) add_test(${TEST_NAME} ${TEST_NAME}) set_property(TEST ${TEST_NAME} APPEND PROPERTY ENVIRONMENT ${CTEST_ENVIRONMENT}) @@ -37,3 +39,8 @@ function(add_qt_test_by_name name) endfunction() add_qt_test_by_name(greeter-test) add_qt_test_by_name(usb-snap-test) + +set(COVERAGE_TEST_TARGETS + ${COVERAGE_TEST_TARGETS} + PARENT_SCOPE +) -- cgit v1.2.3