From ab7eda2591c04244e23b57f2101ad4ac16c6b367 Mon Sep 17 00:00:00 2001 From: Brad King Date: Wed, 29 Apr 2020 09:18:14 -0400 Subject: Tests: Remove unnecessary pass regex on CTestCoverageCollectGCOV The test script uses `message(FATAL_ERROR)` on failure, so we can just let the `ctest` exit code determine the result. --- Tests/CMakeLists.txt | 3 --- 1 file changed, 3 deletions(-) diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt index cf8aa14..03ce31e 100644 --- a/Tests/CMakeLists.txt +++ b/Tests/CMakeLists.txt @@ -2691,9 +2691,6 @@ ${CMake_SOURCE_DIR}/Utilities/Release/push.bash --dir dev -- '${CMake_BUILD_NIGH -S "${CMake_BINARY_DIR}/Tests/CTestCoverageCollectGCOV/test.cmake" -VV --output-log "${CMake_BINARY_DIR}/Tests/CTestCoverageCollectGCOV/testOut.log" ) - set_tests_properties(CTestCoverageCollectGCOV PROPERTIES - PASS_REGULAR_EXPRESSION - "PASSED with correct output.*Testing/CoverageInfo/main.cpp.gcov") set_property(TEST CTestCoverageCollectGCOV PROPERTY ENVIRONMENT CTEST_PARALLEL_LEVEL=) configure_file( -- cgit v0.12 From 81e83510a01601d61b49df72a549de9bc4af718f Mon Sep 17 00:00:00 2001 From: Brad King Date: Thu, 30 Apr 2020 08:40:33 -0400 Subject: Tests: Fix re-running CTestCoverageCollectGCOV on in-source build Do not remove the test binary directory if it contains `CMakeCache.txt`. Otherwise in an in-source build we remove the source directory too. --- Tests/CTestCoverageCollectGCOV/test.cmake.in | 2 -- 1 file changed, 2 deletions(-) diff --git a/Tests/CTestCoverageCollectGCOV/test.cmake.in b/Tests/CTestCoverageCollectGCOV/test.cmake.in index 2c98876..9fe25a7 100644 --- a/Tests/CTestCoverageCollectGCOV/test.cmake.in +++ b/Tests/CTestCoverageCollectGCOV/test.cmake.in @@ -3,8 +3,6 @@ set(CTEST_SOURCE_DIRECTORY "@CMake_SOURCE_DIR@/Tests/CTestCoverageCollectGCOV/Te 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() -- cgit v0.12 From 40ca6ef12536300b1ea5e06dea4d98833f4e267d Mon Sep 17 00:00:00 2001 From: "Kelly (KT) Thompson" Date: Wed, 22 Apr 2020 11:10:31 -0600 Subject: CTestCoverageCollectGCOV: Add TARBALL_COMPRESSION option For large projects, the default bzip2 compression of gcov data is prohibitively expensively (could take several hours). Introduce options that allow the consumer to choose between file size and compression time. Add a new optional argument `TARBALL_COMPRESSION` for the macro `ctest_coverage_collect_gcov`. This option accepts the values `GZIP`, `BZIP2`, `XZ`, `FROM_EXT`, or an expression that evaluates to `FALSE`. The default value is `BZIP2` to preserve prior behavior. Fixes: #20593 --- .../dev/CTestCoverageCollectGCOV-compress-opts.rst | 7 + Modules/CTestCoverageCollectGCOV.cmake | 54 +++++++- Tests/CTestCoverageCollectGCOV/test.cmake.in | 144 +++++++++++++++++++-- 3 files changed, 191 insertions(+), 14 deletions(-) create mode 100644 Help/release/dev/CTestCoverageCollectGCOV-compress-opts.rst diff --git a/Help/release/dev/CTestCoverageCollectGCOV-compress-opts.rst b/Help/release/dev/CTestCoverageCollectGCOV-compress-opts.rst new file mode 100644 index 0000000..eb8532d --- /dev/null +++ b/Help/release/dev/CTestCoverageCollectGCOV-compress-opts.rst @@ -0,0 +1,7 @@ +CTestCoverageCollectGCOV-compress-opts +-------------------------------------- + +* The :module:`CTestCoverageCollectGCOV` module + :command:`ctest_coverage_collect_gcov` function gained a + ``TARBALL_COMPRESSION`` option to control compression of the + tarball of collected results. diff --git a/Modules/CTestCoverageCollectGCOV.cmake b/Modules/CTestCoverageCollectGCOV.cmake index b498086..b1268be 100644 --- a/Modules/CTestCoverageCollectGCOV.cmake +++ b/Modules/CTestCoverageCollectGCOV.cmake @@ -37,6 +37,17 @@ After generating this tar file, it can be sent to CDash for display with the upload to CDash. Relative paths will be interpreted with respect to the top-level build directory. + ``TARBALL_COMPRESSION