Mercurial > dedupe
diff CMakeLists.txt @ 76:8136057988bc
Fixes to automatic report generating system.
A lot of new unittests.
| author | Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no> |
|---|---|
| date | Sat, 16 Feb 2013 15:32:20 +0100 |
| parents | c9447697609f |
| children | a827f3687c4a |
line wrap: on
line diff
--- a/CMakeLists.txt Sat Feb 16 15:30:12 2013 +0100 +++ b/CMakeLists.txt Sat Feb 16 15:32:20 2013 +0100 @@ -9,11 +9,31 @@ SET(COVERAGE_FLAGS "--coverage") ENDIF() +SET(ALL_TESTS) + MACRO(NEW_TEST file) STRING(REPLACE "/" "_" TARGET ${file}) ADD_EXECUTABLE(${TARGET} ${file}.cpp ${TEST_SOURCES}) ADD_TEST(${TARGET} ${TARGET}) - TARGET_LINK_LIBRARIES(${TARGET} ${QT_LIBRARIES} ${Boost_LIBRARIES} ${COVERAGE_FLAGS}) + TARGET_LINK_LIBRARIES(${TARGET} ${QT_LIBRARIES} ${Boost_LIBRARIES} + ${COVERAGE_FLAGS}) + + ADD_CUSTOM_COMMAND(OUTPUT "BUILD_${TARGET}" + COMMAND "${CMAKE_COMMAND}" + --build ${CMAKE_BINARY_DIR} + --target ${TARGET} + COMMENT "Building test ${TARGET}" + ) + SET(BUILD_ALL_TESTS ${BUILD_ALL_TESTS} BUILD_${TARGET}) + + SET(ALL_TESTS ${ALL_TESTS} RUN_${TARGET}) + ADD_CUSTOM_TARGET(RUN_${TARGET} ${CMAKE_BINARY_DIR}/${TARGET} --log_level=nothing --report_level=no + DEPENDS zero_counters_test_with_base + BUILD_${TARGET} + COMMENT "Running test ${TARGET}" + +) + ENDMACRO() SET(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/CMake_Modules/") @@ -64,7 +84,6 @@ HuffmanString.cpp MemoryDBLink.cpp SqliteDBLink.cpp - UniqueString.cpp ) SET(CLASS_HEADERS @@ -98,6 +117,7 @@ SET(TEST_SOURCES ${CLASS_SOURCES} ${MOC_SOURCES} + TestDatabase.cpp TestFramework.cpp ) @@ -150,6 +170,8 @@ NEW_TEST(Exception/TestValueExistsException) NEW_TEST(Exception/TestPermissionException) NEW_TEST(TestBitArray) +NEW_TEST(TestSQLGenerator) +NEW_TEST(TestFileDBLink) NEW_TEST(TestBitDecoder) NEW_TEST(TestDBCache) NEW_TEST(TestEditDistance) @@ -159,35 +181,68 @@ NEW_TEST(TestMemoryDBLink) NEW_TEST(TestSqliteDBLink) + #ADD_PRECOMPILED_HEADER(TestEditDistance TestFramework.hpp) +ADD_CUSTOM_COMMAND(OUTPUT build_tests COMMAND "${CMAKE_COMMAND}" +--build ${CMAKE_BINARY_DIR} --target all) -ADD_CUSTOM_COMMAND(OUTPUT coverage.info - COMMAND lcov --no-external --capture +ADD_CUSTOM_TARGET(zero_counters_test_with_base + lcov -q -z -d ${CMAKE_CURRENT_BINARY_DIR} + DEPENDS ${BUILD_ALL_TESTS} +) + +ADD_CUSTOM_COMMAND(OUTPUT test_with_base COMMAND +true +DEPENDS zero_counters_test_with_base ${ALL_TESTS} + COMMENT "All test have run" +) + +ADD_CUSTOM_COMMAND(OUTPUT coverage_base_raw.info + COMMAND lcov --no-external + --capture --initial --directory ${CMAKE_CURRENT_BINARY_DIR} --base-directory ${CMAKE_CURRENT_SOURCE_DIR} - --output-file coverage.info + --output-file coverage_base_raw.info +) + +ADD_CUSTOM_COMMAND(OUTPUT coverage_test.info + COMMAND lcov -q --no-external --capture + --directory ${CMAKE_CURRENT_BINARY_DIR} + --base-directory ${CMAKE_CURRENT_SOURCE_DIR} + --output-file + coverage_test.info + DEPENDS test_with_base ) ADD_CUSTOM_COMMAND(OUTPUT coverage.preprocessed2 - COMMAND lcov -r - coverage.info 'moc_*' + COMMAND lcov -q -r + coverage_test.info 'moc_*' --output-file coverage.preprocessed2 - DEPENDS coverage.info + DEPENDS coverage_test.info + COMMENT "Removing \"moc_\"-files" ) ADD_CUSTOM_COMMAND(OUTPUT coverage.preprocessed - COMMAND lcov -r + COMMAND lcov -q -r coverage.preprocessed2 'Test*' --output-file coverage.preprocessed - DEPENDS coverage.preprocessed2 + DEPENDS + coverage.preprocessed2 + COMMENT "Removing \"Test\"-files" ) -ADD_CUSTOM_TARGET(coverage_presentation genhtml +ADD_CUSTOM_TARGET(coverage_presentation genhtml -q ${CMAKE_CURRENT_BINARY_DIR}/coverage.preprocessed --output-directory ${CMAKE_CURRENT_BINARY_DIR}/coverage_presentation - DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/coverage.preprocessed + DEPENDS + ${CMAKE_CURRENT_BINARY_DIR}/coverage.preprocessed ) + +ADD_CUSTOM_TARGET(coverage_base + DEPENDS + ${CMAKE_CURRENT_BINARY_DIR}/coverage_base.info +)
