summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSylvain Joubert <joubert.sy@gmail.com>2017-01-12 10:32:58 (GMT)
committerSylvain Joubert <joubert.sy@gmail.com>2017-01-12 10:32:58 (GMT)
commita10586377232b28be13c2bf90c98d002067eb5fc (patch)
tree027a238d2672be6644f6a61e79d7f9f0df228608
parent053adc60ee80e55f2a8c09fadadc5db6e789412d (diff)
downloadCMake-a10586377232b28be13c2bf90c98d002067eb5fc.zip
CMake-a10586377232b28be13c2bf90c98d002067eb5fc.tar.gz
CMake-a10586377232b28be13c2bf90c98d002067eb5fc.tar.bz2
CTest: Properly reset output to avoid duplication with --repeat-until-fail
-rw-r--r--Source/CTest/cmCTestRunTest.cxx2
-rw-r--r--Tests/RunCMake/CTestCommandLine/repeat-until-fail-cmake.cmake2
2 files changed, 4 insertions, 0 deletions
diff --git a/Source/CTest/cmCTestRunTest.cxx b/Source/CTest/cmCTestRunTest.cxx
index 5c45fe5..ac1644f 100644
--- a/Source/CTest/cmCTestRunTest.cxx
+++ b/Source/CTest/cmCTestRunTest.cxx
@@ -134,6 +134,7 @@ void cmCTestRunTest::CompressOutput()
size_t rlen = cmsysBase64_Encode(out, strm.total_out, encoded_buffer, 1);
+ this->CompressedOutput.clear();
for (size_t i = 0; i < rlen; i++) {
this->CompressedOutput += encoded_buffer[i];
}
@@ -416,6 +417,7 @@ bool cmCTestRunTest::StartTest(size_t total)
<< std::setw(getNumWidth(this->TestHandler->GetMaxIndex()))
<< this->TestProperties->Index << ": "
<< this->TestProperties->Name << std::endl);
+ this->ProcessOutput.clear();
this->ComputeArguments();
std::vector<std::string>& args = this->TestProperties->Args;
this->TestResult.Properties = this->TestProperties;
diff --git a/Tests/RunCMake/CTestCommandLine/repeat-until-fail-cmake.cmake b/Tests/RunCMake/CTestCommandLine/repeat-until-fail-cmake.cmake
index 4654416..ecb9a64 100644
--- a/Tests/RunCMake/CTestCommandLine/repeat-until-fail-cmake.cmake
+++ b/Tests/RunCMake/CTestCommandLine/repeat-until-fail-cmake.cmake
@@ -12,4 +12,6 @@ add_test(NAME test1
set_tests_properties(test1 PROPERTIES DEPENDS "initialization")
add_test(hello ${CMAKE_COMMAND} -E echo hello)
+set_tests_properties(hello PROPERTIES FAIL_REGULAR_EXPRESSION "hello.*hello")
+
add_test(goodbye ${CMAKE_COMMAND} -E echo goodbye)