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  786a5bbd1612a6da3487aae97ae99a88f20ea272 (commit)
       via  e61973e1ab2c01f9ae5df145bfdc14e83a0cf1d9 (commit)
      from  36f0c5e076363d2fbc66dc474f977c1ba32f461d (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 -----------------------------------------------------------------
https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=786a5bbd1612a6da3487aae97ae99a88f20ea272
commit 786a5bbd1612a6da3487aae97ae99a88f20ea272
Merge: 36f0c5e e61973e
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Fri Oct 23 10:04:45 2015 -0400
Commit:     CMake Topic Stage <kwro...@kitware.com>
CommitDate: Fri Oct 23 10:04:45 2015 -0400

    Merge topic 'fix-test-RUN_SERIAL-failure-regression' into next
    
    e61973e1 CTest: Fix regression in handling of a RUN_SERIAL test that fails


https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e61973e1ab2c01f9ae5df145bfdc14e83a0cf1d9
commit e61973e1ab2c01f9ae5df145bfdc14e83a0cf1d9
Author:     Brad King <brad.k...@kitware.com>
AuthorDate: Fri Oct 23 09:25:25 2015 -0400
Commit:     Brad King <brad.k...@kitware.com>
CommitDate: Fri Oct 23 09:55:25 2015 -0400

    CTest: Fix regression in handling of a RUN_SERIAL test that fails
    
    Refactoring in commit v3.4.0-rc1~390^2~1 (cmCTestMultiProcessHandler:
    Refactor RUN_SERIAL implementation, 2015-06-01) forgot to update a code
    path for cleaning up after a failed RUN_SERIAL test.  This causes an
    infinite loop after a RUN_SERIAL test fails.  Fix it and add a test.

diff --git a/Source/CTest/cmCTestMultiProcessHandler.cxx 
b/Source/CTest/cmCTestMultiProcessHandler.cxx
index 4832186..7c7f5df 100644
--- a/Source/CTest/cmCTestMultiProcessHandler.cxx
+++ b/Source/CTest/cmCTestMultiProcessHandler.cxx
@@ -198,6 +198,10 @@ void cmCTestMultiProcessHandler::UnlockResources(int index)
     {
     this->LockedResources.erase(*i);
     }
+  if (this->Properties[index]->RunSerial)
+    {
+    this->SerialTestRunning = false;
+    }
 }
 
 //---------------------------------------------------------
@@ -451,11 +455,6 @@ bool cmCTestMultiProcessHandler::CheckOutput()
     this->WriteCheckpoint(test);
     this->UnlockResources(test);
     this->RunningCount -= GetProcessorsUsed(test);
-    if (this->Properties[test]->RunSerial)
-      {
-      this->SerialTestRunning = false;
-      }
-
     delete p;
     }
   return true;
diff --git a/Tests/RunCMake/CTestCommandLine/RunCMakeTest.cmake 
b/Tests/RunCMake/CTestCommandLine/RunCMakeTest.cmake
index 00895cc..2bc3693 100644
--- a/Tests/RunCMake/CTestCommandLine/RunCMakeTest.cmake
+++ b/Tests/RunCMake/CTestCommandLine/RunCMakeTest.cmake
@@ -78,6 +78,21 @@ endfunction()
 
 run_LabelCount()
 
+function(run_SerialFailed)
+  set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/SerialFailed)
+  set(RunCMake_TEST_NO_CLEAN 1)
+  file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
+  file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
+  file(WRITE "${RunCMake_TEST_BINARY_DIR}/CTestTestfile.cmake" "
+add_test(NoSuchCommand no_such_command)
+set_tests_properties(NoSuchCommand PROPERTIES RUN_SERIAL ON)
+add_test(Echo \"${CMAKE_COMMAND}\" -E echo \"EchoTest\")
+")
+
+  run_cmake_command(SerialFailed ${CMAKE_CTEST_COMMAND} -V)
+endfunction()
+run_SerialFailed()
+
 function(run_TestLoad name load)
   set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/TestLoad)
   set(RunCMake_TEST_NO_CLEAN 1)
diff --git a/Tests/RunCMake/CTestCommandLine/SerialFailed-result.txt 
b/Tests/RunCMake/CTestCommandLine/SerialFailed-result.txt
new file mode 100644
index 0000000..45a4fb7
--- /dev/null
+++ b/Tests/RunCMake/CTestCommandLine/SerialFailed-result.txt
@@ -0,0 +1 @@
+8
diff --git a/Tests/RunCMake/CTestCommandLine/SerialFailed-stderr.txt 
b/Tests/RunCMake/CTestCommandLine/SerialFailed-stderr.txt
new file mode 100644
index 0000000..cafe565
--- /dev/null
+++ b/Tests/RunCMake/CTestCommandLine/SerialFailed-stderr.txt
@@ -0,0 +1 @@
+Unable to find executable: no_such_command
diff --git a/Tests/RunCMake/CTestCommandLine/SerialFailed-stdout.txt 
b/Tests/RunCMake/CTestCommandLine/SerialFailed-stdout.txt
new file mode 100644
index 0000000..d7144f7
--- /dev/null
+++ b/Tests/RunCMake/CTestCommandLine/SerialFailed-stdout.txt
@@ -0,0 +1,10 @@
+Could not find executable no_such_command
+.*
+2/2 Test #2: Echo .............................   Passed +[0-9.]+ sec
++
+50% tests passed, 1 tests failed out of 2
++
+Total Test time \(real\) = +[0-9.]+ sec
++
+The following tests FAILED:
+[       ]+1 - NoSuchCommand \(Not Run\)$

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

Summary of changes:
 Source/CTest/cmCTestMultiProcessHandler.cxx             |    9 ++++-----
 Tests/RunCMake/CTestCommandLine/RunCMakeTest.cmake      |   15 +++++++++++++++
 ...il-fail-ctest-result.txt => SerialFailed-result.txt} |    0
 Tests/RunCMake/CTestCommandLine/SerialFailed-stderr.txt |    1 +
 Tests/RunCMake/CTestCommandLine/SerialFailed-stdout.txt |   10 ++++++++++
 5 files changed, 30 insertions(+), 5 deletions(-)
 copy Tests/RunCMake/CTestCommandLine/{repeat-until-fail-ctest-result.txt => 
SerialFailed-result.txt} (100%)
 create mode 100644 Tests/RunCMake/CTestCommandLine/SerialFailed-stderr.txt
 create mode 100644 Tests/RunCMake/CTestCommandLine/SerialFailed-stdout.txt


hooks/post-receive
-- 
CMake
_______________________________________________
Cmake-commits mailing list
Cmake-commits@cmake.org
http://public.kitware.com/mailman/listinfo/cmake-commits

Reply via email to