[Cmake-commits] CMake branch, next, updated. v3.0.0-rc6-3593-g4aa8ef8

Nils Gladitz nilsgladitz at gmail.com
Fri Jun 6 04:31:42 EDT 2014


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  4aa8ef8145d770775797b81ff7d3177f2a97cf25 (commit)
       via  887532f0f097fc90f481174ba7cfa08bde9d9195 (commit)
       via  47cde18849201c3b58479d38725b554f3ad34eaf (commit)
      from  17ae4b589e7d71f80d2c84616c4e7a3888c4e98b (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=4aa8ef8145d770775797b81ff7d3177f2a97cf25
commit 4aa8ef8145d770775797b81ff7d3177f2a97cf25
Merge: 17ae4b5 887532f
Author:     Nils Gladitz <nilsgladitz at gmail.com>
AuthorDate: Fri Jun 6 04:31:41 2014 -0400
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Fri Jun 6 04:31:41 2014 -0400

    Merge topic 'fix-ctest-label-regex' into next
    
    887532f0 CTest: Fix combined inclusive/exclusive label regular expressions
    47cde188 CMake Nightly Date Stamp


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=887532f0f097fc90f481174ba7cfa08bde9d9195
commit 887532f0f097fc90f481174ba7cfa08bde9d9195
Author:     Nils Gladitz <nilsgladitz at gmail.com>
AuthorDate: Fri Jun 6 10:28:18 2014 +0200
Commit:     Nils Gladitz <nilsgladitz at gmail.com>
CommitDate: Fri Jun 6 10:28:18 2014 +0200

    CTest: Fix combined inclusive/exclusive label regular expressions

diff --git a/Source/CTest/cmCTestTestHandler.cxx b/Source/CTest/cmCTestTestHandler.cxx
index 1d1dde4..f21d166 100644
--- a/Source/CTest/cmCTestTestHandler.cxx
+++ b/Source/CTest/cmCTestTestHandler.cxx
@@ -509,7 +509,7 @@ int cmCTestTestHandler::ProcessHandler()
   if ( val )
     {
     this->UseExcludeLabelRegExpFlag = true;
-    this->ExcludeLabelRegularExpression = val;
+    this->ExcludeLabelRegExp = val;
     }
   val = this->GetOption("IncludeRegularExpression");
   if ( val )
@@ -1558,7 +1558,7 @@ void cmCTestTestHandler::GetListOfTests()
     this->IncludeLabelRegularExpression.
       compile(this->IncludeLabelRegExp.c_str());
     }
-  if ( !this->IncludeLabelRegExp.empty() )
+  if ( !this->ExcludeLabelRegExp.empty() )
     {
     this->ExcludeLabelRegularExpression.
       compile(this->ExcludeLabelRegExp.c_str());
diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt
index 05442a1..cf24798 100644
--- a/Tests/CMakeLists.txt
+++ b/Tests/CMakeLists.txt
@@ -2343,6 +2343,17 @@ ${CMake_BINARY_DIR}/bin/cmake -DDIR=dev -P ${CMake_SOURCE_DIR}/Utilities/Release
     "All Labels:.*  Label1.*  Label2")
 
   configure_file(
+    "${CMake_SOURCE_DIR}/Tests/CTestTestLabelRegExp/test.cmake.in"
+    "${CMake_BINARY_DIR}/Tests/CTestTestLabelRegExp/test.cmake"
+    @ONLY ESCAPE_QUOTES)
+  add_test(NAME CTestTestLabelRegExp
+    COMMAND ${CMAKE_CMAKE_COMMAND}
+      -DSOURCE_DIR=${CMAKE_SOURCE_DIR}/Tests/CTestTestLabelRegExp
+      -P ${CMAKE_BINARY_DIR}/Tests/CTestTestLabelRegExp/test.cmake
+    WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/Tests/CTestTestLabelRegExp
+  )
+
+  configure_file(
     "${CMake_SOURCE_DIR}/Tests/CTestTestResourceLock/test.cmake.in"
     "${CMake_BINARY_DIR}/Tests/CTestTestResourceLock/test.cmake"
     @ONLY ESCAPE_QUOTES)
diff --git a/Tests/CTestTestLabelRegExp/CTestTestfile.cmake.in b/Tests/CTestTestLabelRegExp/CTestTestfile.cmake.in
new file mode 100644
index 0000000..657f382
--- /dev/null
+++ b/Tests/CTestTestLabelRegExp/CTestTestfile.cmake.in
@@ -0,0 +1,8 @@
+add_test(test1 ${CMAKE_COMMAND} -E echo test1)
+set_tests_properties(test1 PROPERTIES LABELS "foo")
+
+add_test(test2 ${CMAKE_COMMAND} -E echo test2)
+set_tests_properties(test2 PROPERTIES LABELS "bar")
+
+add_test(test3 ${CMAKE_COMMAND} -E echo test3)
+set_tests_properties(test3 PROPERTIES LABELS "foo;bar")
diff --git a/Tests/CTestTestLabelRegExp/test.cmake.in b/Tests/CTestTestLabelRegExp/test.cmake.in
new file mode 100644
index 0000000..5c0c9d7
--- /dev/null
+++ b/Tests/CTestTestLabelRegExp/test.cmake.in
@@ -0,0 +1,37 @@
+configure_file(${SOURCE_DIR}/CTestTestfile.cmake.in CTestTestfile.cmake)
+
+function(get_test_list TEST_LIST)
+  set(QUERY_COMMAND ${CMAKE_CTEST_COMMAND} -N ${ARGN})
+
+  execute_process(COMMAND ${QUERY_COMMAND}
+    RESULT_VARIABLE RESULT
+	OUTPUT_VARIABLE OUTPUT
+	ERROR_VARIABLE ERROR)
+
+  if(NOT ${RESULT} STREQUAL "0")
+    message(FATAL_ERROR "command [${QUERY_COMMAND}] failed: RESULT[${RESULT}] OUTPUT[${OUTPUT}] ERROR[${ERROR}]")
+  endif()
+
+  set(${TEST_LIST} "${OUTPUT}" PARENT_SCOPE)
+endfunction()
+
+function(expect_test_list EXPECTED_OUTPUT)
+  get_test_list(TEST_LIST ${ARGN})
+
+  if(NOT "${TEST_LIST}" MATCHES "${EXPECTED_OUTPUT}")
+    message(FATAL_ERROR "actual output [${TEST_LIST}] does not match expected output [${EXPECTED_OUTPUT}] for given arguments [${ARGN}]")
+  endif()
+endfunction()
+
+expect_test_list("test1.*test3.*Total Tests: 2" --label-regex foo)
+expect_test_list("test2.*test3.*Total Tests: 2" --label-regex bar)
+expect_test_list("test1.*test2.*test3.*Total Tests: 3" --label-regex foo|bar)
+expect_test_list("Total Tests: 0" --label-regex baz)
+
+expect_test_list("test2.*Total Tests: 1" --label-exclude foo)
+expect_test_list("test1.*Total Tests: 1" --label-exclude bar)
+expect_test_list("Total Tests: 0" --label-exclude foo|bar)
+expect_test_list("test1.*test2.*test3.*Total Tests: 3" --label-exclude baz)
+
+expect_test_list("test1.*Total Tests: 1" --label-regex foo --label-exclude bar)
+expect_test_list("test2.*Total Tests: 1" --label-regex bar --label-exclude foo)

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

Summary of changes:
 Source/CMakeVersion.cmake                         |    2 +-
 Source/CTest/cmCTestTestHandler.cxx               |    4 +--
 Tests/CMakeLists.txt                              |   11 ++++++
 Tests/CTestTestLabelRegExp/CTestTestfile.cmake.in |    8 +++++
 Tests/CTestTestLabelRegExp/test.cmake.in          |   37 +++++++++++++++++++++
 5 files changed, 59 insertions(+), 3 deletions(-)
 create mode 100644 Tests/CTestTestLabelRegExp/CTestTestfile.cmake.in
 create mode 100644 Tests/CTestTestLabelRegExp/test.cmake.in


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list