From fcf9cf6cd8a8299100c571afbacc134932552bb6 Mon Sep 17 00:00:00 2001 From: Stephen Kelly Date: Sun, 19 Apr 2015 22:17:44 +0200 Subject: [PATCH 1/2] Tests: Make a CTest test deterministic. The test expect sub-test not to run in parallel. --- Tests/RunCMake/CTestCommandLine/RunCMakeTest.cmake | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Tests/RunCMake/CTestCommandLine/RunCMakeTest.cmake b/Tests/RunCMake/CTestCommandLine/RunCMakeTest.cmake index 2e5156cd6..22a8d20f9 100644 --- a/Tests/RunCMake/CTestCommandLine/RunCMakeTest.cmake +++ b/Tests/RunCMake/CTestCommandLine/RunCMakeTest.cmake @@ -1,5 +1,8 @@ include(RunCMake) +unset(ENV{CTEST_PARALLEL_LEVEL}) +unset(ENV{CTEST_OUTPUT_ON_FAILURE}) + run_cmake_command(repeat-until-fail-bad1 ${CMAKE_CTEST_COMMAND} --repeat-until-fail ) From b5b20d2050616b186cf5b676bbb15772a347ffdd Mon Sep 17 00:00:00 2001 From: Brad King Date: Wed, 22 Apr 2015 08:27:19 -0400 Subject: [PATCH 2/2] ctest: Treat ENV{CTEST_OUTPUT_ON_FAILURE} as a boolean Having this variable in the environment should not be enough to activate the behavior. It must also not be set to a false value (or empty value). --- Source/cmCTest.cxx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Source/cmCTest.cxx b/Source/cmCTest.cxx index 3697aa4b2..403a45937 100644 --- a/Source/cmCTest.cxx +++ b/Source/cmCTest.cxx @@ -332,9 +332,9 @@ cmCTest::cmCTest() this->ComputedCompressMemCheckOutput = false; this->RepeatTests = 1; // default to run each test once this->RepeatUntilFail = false; - if(cmSystemTools::GetEnv("CTEST_OUTPUT_ON_FAILURE")) + if(const char* outOnFail = cmSystemTools::GetEnv("CTEST_OUTPUT_ON_FAILURE")) { - this->OutputTestOutputOnTestFailure = true; + this->OutputTestOutputOnTestFailure = !cmSystemTools::IsOff(outOnFail); } this->InitStreams();