diff options
author | Brad King <brad.king@kitware.com> | 2015-10-23 13:25:25 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2015-10-23 13:55:25 (GMT) |
commit | e61973e1ab2c01f9ae5df145bfdc14e83a0cf1d9 (patch) | |
tree | 50fd4abbdf56fab437eb1c764a74b47c8bb73151 /Source/CTest/cmCTestMultiProcessHandler.cxx | |
parent | 498db9b9bcfdf391ff89ffc0b273a65d0bc1bd7e (diff) | |
download | CMake-e61973e1ab2c01f9ae5df145bfdc14e83a0cf1d9.zip CMake-e61973e1ab2c01f9ae5df145bfdc14e83a0cf1d9.tar.gz CMake-e61973e1ab2c01f9ae5df145bfdc14e83a0cf1d9.tar.bz2 |
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.
Diffstat (limited to 'Source/CTest/cmCTestMultiProcessHandler.cxx')
-rw-r--r-- | Source/CTest/cmCTestMultiProcessHandler.cxx | 9 |
1 files changed, 4 insertions, 5 deletions
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; |