[Cmake-commits] CMake branch, next, updated. v3.1.1-2494-gdc6c46b

Brad King brad.king at kitware.com
Thu Jan 29 17:29:57 EST 2015


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".

The branch, next has been updated
       via  dc6c46b115f19ac02db22d072c07da2df423cd36 (commit)
       via  a3892efa66657d873c3bf46ddb9fea0db287508a (commit)
      from  3b12ad4612252eae973f1490328ef916b3cb1fc5 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=dc6c46b115f19ac02db22d072c07da2df423cd36
commit dc6c46b115f19ac02db22d072c07da2df423cd36
Merge: 3b12ad4 a3892ef
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Thu Jan 29 17:29:56 2015 -0500
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Thu Jan 29 17:29:56 2015 -0500

    Merge topic 'clean_up_cdash_upload_files' into next
    
    a3892efa CTestCoverageCollectGCOV: Add test case


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=a3892efa66657d873c3bf46ddb9fea0db287508a
commit a3892efa66657d873c3bf46ddb9fea0db287508a
Author:     Bill Hoffman <bill.hoffman at kitware.com>
AuthorDate: Wed Jan 28 17:08:41 2015 -0500
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Thu Jan 29 17:29:24 2015 -0500

    CTestCoverageCollectGCOV: Add test case

diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt
index 3aecd9b..1a79854 100644
--- a/Tests/CMakeLists.txt
+++ b/Tests/CMakeLists.txt
@@ -2269,6 +2269,18 @@ ${CMake_BINARY_DIR}/bin/cmake -DDIR=dev -P ${CMake_SOURCE_DIR}/Utilities/Release
     PASS_REGULAR_EXPRESSION "Upload\\.xml")
 
   configure_file(
+    "${CMake_SOURCE_DIR}/Tests/CTestCoverageCollectGCOV/test.cmake.in"
+    "${CMake_BINARY_DIR}/Tests/CTestCoverageCollectGCOV/test.cmake"
+    @ONLY ESCAPE_QUOTES)
+  add_test(CTestCoverageCollectGCOV ${CMAKE_CTEST_COMMAND}
+    -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/echoargs.gcov")
+
+  configure_file(
     "${CMake_SOURCE_DIR}/Tests/CTestTestEmptyBinaryDirectory/test.cmake.in"
     "${CMake_BINARY_DIR}/Tests/CTestTestEmptyBinaryDirectory/test.cmake"
     @ONLY ESCAPE_QUOTES)
diff --git a/Tests/CTestCoverageCollectGCOV/fakegcov.cmake b/Tests/CTestCoverageCollectGCOV/fakegcov.cmake
new file mode 100644
index 0000000..e704f14
--- /dev/null
+++ b/Tests/CTestCoverageCollectGCOV/fakegcov.cmake
@@ -0,0 +1,8 @@
+foreach(I RANGE 0 ${CMAKE_ARGC})
+  if("${CMAKE_ARGV${I}}" MATCHES ".*\\.gcda")
+    set(gcda_file "${CMAKE_ARGV${I}}")
+  endif()
+endforeach()
+get_filename_component(gcda_file ${gcda_file} NAME_WE)
+file(WRITE "${CMAKE_SOURCE_DIR}/${gcda_file}.gcov"
+"fake gcov file")
diff --git a/Tests/CTestCoverageCollectGCOV/test.cmake.in b/Tests/CTestCoverageCollectGCOV/test.cmake.in
new file mode 100644
index 0000000..2560542
--- /dev/null
+++ b/Tests/CTestCoverageCollectGCOV/test.cmake.in
@@ -0,0 +1,39 @@
+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_CMAKE_GENERATOR "@CMAKE_GENERATOR@")
+ctest_start(Experimental)
+ctest_configure()
+ctest_build()
+ctest_test()
+
+file(WRITE ${CTEST_BINARY_DIRECTORY}/CMakeFiles/echoargs.dir/echoargs.gcda
+"dummy
+")
+
+include(CTestCoverageCollectGCOV)
+set(tar_file ${CTEST_BINARY_DIRECTORY}/gcov.tar)
+ctest_coverage_collect_gcov(
+  TARBALL "${tar_file}"
+  SOURCE "${CTEST_SOURCE_DIRECTORY}"
+  BUILD "${CTEST_BINARY_DIRECTORY}"
+  GCOV_COMMAND "${CMAKE_COMMAND}"
+  GCOV_EXTRA_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})
+
+set(expected_out
+"Testing/CoverageInfo/echoargs.gcov
+Testing/CoverageInfo/data.json
+CMakeFiles/echoargs.dir/Labels.json
+")
+
+if("${out}" STREQUAL "${expected_out}")
+  message("PASSED with correct output: ${out}")
+else()
+  message(FATAL_ERROR "FAILED: expected:\n${expected_out}\nGot:\n${out}")
+endif()

-----------------------------------------------------------------------

Summary of changes:
 Tests/CMakeLists.txt                          |   12 ++++++++
 Tests/CTestCoverageCollectGCOV/fakegcov.cmake |    8 +++++
 Tests/CTestCoverageCollectGCOV/test.cmake.in  |   39 +++++++++++++++++++++++++
 3 files changed, 59 insertions(+)
 create mode 100644 Tests/CTestCoverageCollectGCOV/fakegcov.cmake
 create mode 100644 Tests/CTestCoverageCollectGCOV/test.cmake.in


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list