summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2004-07-02 20:29:15 (GMT)
committerBrad King <brad.king@kitware.com>2004-07-02 20:29:15 (GMT)
commit0b7ab2a4aab13abc0fb223a0ce41dacb67fa870b (patch)
treea350f1375e23eeb0b584847011057b0f116a7273
parent40a5bad9167dc9aca99a203aa0af4d2f41452de3 (diff)
downloadCMake-0b7ab2a4aab13abc0fb223a0ce41dacb67fa870b.zip
CMake-0b7ab2a4aab13abc0fb223a0ce41dacb67fa870b.tar.gz
CMake-0b7ab2a4aab13abc0fb223a0ce41dacb67fa870b.tar.bz2
BUG#969: Partially fixed by at least using the timeout for the individual calls to RunSingleCommand from within the inner ctest instance. This should be modified to incrementally adjust remaining time.
-rw-r--r--Source/cmCTest.cxx8
-rw-r--r--Source/cmCTest.h2
2 files changed, 7 insertions, 3 deletions
diff --git a/Source/cmCTest.cxx b/Source/cmCTest.cxx
index 9b4cba0..1c94a6d 100644
--- a/Source/cmCTest.cxx
+++ b/Source/cmCTest.cxx
@@ -3354,6 +3354,7 @@ int cmCTest::RunTest(std::vector<const char*> argv, std::string* output, int *re
{
cmCTest inst;
inst.m_ConfigType = m_ConfigType;
+ inst.m_TimeOut = m_TimeOut;
std::vector<std::string> args;
for(unsigned int i =0; i < argv.size(); ++i)
{
@@ -4671,6 +4672,7 @@ int cmCTest::RunCMakeAndTest(std::string* outstring)
cmSystemTools::SetStdoutCallback(CMakeStdoutCallback, &cmakeOutString);
cmOStringStream out;
cmake cm;
+ double timeout = m_TimeOut;
// default to the build type of ctest itself
if(m_ConfigType.size() == 0)
{
@@ -4822,7 +4824,8 @@ int cmCTest::RunCMakeAndTest(std::string* outstring)
out << "Running make clean command: " << cleanCommand.c_str() << " ...\n";
retVal = 0;
std::string output;
- if (!cmSystemTools::RunSingleCommand(cleanCommand.c_str(), &output, &retVal) ||
+ if (!cmSystemTools::RunSingleCommand(cleanCommand.c_str(), &output, &retVal, 0,
+ false, timeout) ||
retVal)
{
out << "Error: " << cleanCommand.c_str() << " execution failed\n";
@@ -4855,7 +4858,7 @@ int cmCTest::RunCMakeAndTest(std::string* outstring)
out << "Running make command: " << makeCommand.c_str() << "\n";
retVal = 0;
std::string output;
- if (!cmSystemTools::RunSingleCommand(makeCommand.c_str(), &output, &retVal, 0, false))
+ if (!cmSystemTools::RunSingleCommand(makeCommand.c_str(), &output, &retVal, 0, false, timeout))
{
out << "Error: " << makeCommand.c_str() << " execution failed\n";
out << output.c_str() << "\n";
@@ -5035,6 +5038,7 @@ int cmCTest::RunCMakeAndTest(std::string* outstring)
out << m_TestCommandArgs[k] << " ";
}
out << "\n";
+ m_TimeOut = timeout;
int runTestRes = this->RunTest(testCommand, &outs, &retval, 0);
if(runTestRes != cmsysProcess_State_Exited || retval != 0)
{
diff --git a/Source/cmCTest.h b/Source/cmCTest.h
index 25b025c..15d0471 100644
--- a/Source/cmCTest.h
+++ b/Source/cmCTest.h
@@ -310,7 +310,7 @@ private:
int m_TestModel;
- int m_TimeOut;
+ double m_TimeOut;
std::string m_MemoryTester;
std::string m_MemoryTesterOptions;