|
|
@@ -1,16 +1,21 @@
|
|
|
cmake_minimum_required(VERSION 2.8.12)
|
|
|
-set(CTEST_PROJECT_NAME "SmallAndFast")
|
|
|
-set(CTEST_SOURCE_DIRECTORY "@CMake_SOURCE_DIR@/Tests/CTestTest/SmallAndFast")
|
|
|
-set(CTEST_BINARY_DIRECTORY "@CMake_BINARY_DIR@/Tests/CTestCoverageCollectGCOV")
|
|
|
+set(CTEST_PROJECT_NAME "TestProject")
|
|
|
+set(CTEST_SOURCE_DIRECTORY "@CMake_SOURCE_DIR@/Tests/CTestCoverageCollectGCOV/TestProject")
|
|
|
+set(CTEST_BINARY_DIRECTORY "@CMake_BINARY_DIR@/Tests/CTestCoverageCollectGCOV/TestProject")
|
|
|
set(CTEST_CMAKE_GENERATOR "@CMAKE_GENERATOR@")
|
|
|
+
|
|
|
+ctest_empty_binary_directory(${CTEST_BINARY_DIRECTORY})
|
|
|
+
|
|
|
ctest_start(Experimental)
|
|
|
ctest_configure()
|
|
|
ctest_build()
|
|
|
ctest_test()
|
|
|
|
|
|
-file(WRITE ${CTEST_BINARY_DIRECTORY}/CMakeFiles/echoargs.dir/echoargs.gcda
|
|
|
-"dummy
|
|
|
-")
|
|
|
+list(APPEND CTEST_CUSTOM_COVERAGE_EXCLUDE
|
|
|
+ "/foo/something"
|
|
|
+ "/3rdparty/"
|
|
|
+ "/bar/somethingelse"
|
|
|
+)
|
|
|
|
|
|
include(CTestCoverageCollectGCOV)
|
|
|
set(tar_file ${CTEST_BINARY_DIRECTORY}/gcov.tar)
|
|
|
@@ -22,15 +27,21 @@ ctest_coverage_collect_gcov(
|
|
|
GCOV_OPTIONS -P "@CMake_SOURCE_DIR@/Tests/CTestCoverageCollectGCOV/fakegcov.cmake")
|
|
|
|
|
|
execute_process(COMMAND
|
|
|
- ${CMAKE_COMMAND} -E tar tf ${tar_file}
|
|
|
- OUTPUT_VARIABLE out
|
|
|
- WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR})
|
|
|
+ ${CMAKE_COMMAND} -E tar tf ${tar_file}
|
|
|
+ OUTPUT_VARIABLE out
|
|
|
+ WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}
|
|
|
+ OUTPUT_STRIP_TRAILING_WHITESPACE
|
|
|
+)
|
|
|
+
|
|
|
+string(REPLACE "\n" ";" out "${out}")
|
|
|
+list(SORT out)
|
|
|
|
|
|
set(expected_out
|
|
|
-"Testing/CoverageInfo/echoargs.gcov
|
|
|
-Testing/CoverageInfo/data.json
|
|
|
-CMakeFiles/echoargs.dir/Labels.json
|
|
|
-")
|
|
|
+ CMakeFiles/myexecutable.dir/Labels.json
|
|
|
+ Testing/CoverageInfo/data.json
|
|
|
+ Testing/CoverageInfo/extra.cpp.gcov
|
|
|
+ Testing/CoverageInfo/main.cpp.gcov
|
|
|
+)
|
|
|
|
|
|
if("${out}" STREQUAL "${expected_out}")
|
|
|
message("PASSED with correct output: ${out}")
|