summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Source/cmCTest.cxx36
-rw-r--r--Source/cmCTest.h2
2 files changed, 21 insertions, 17 deletions
diff --git a/Source/cmCTest.cxx b/Source/cmCTest.cxx
index 17cd1c2..7626e99 100644
--- a/Source/cmCTest.cxx
+++ b/Source/cmCTest.cxx
@@ -263,6 +263,7 @@ cmCTest::cmCTest()
m_DartMode = false;
m_ShowOnly = false;
m_TestModel = cmCTest::EXPERIMENTAL;
+ m_TimeOut = 0;
int cc;
for ( cc=0; cc < cmCTest::LAST_TEST; cc ++ )
{
@@ -315,6 +316,7 @@ void cmCTest::Initialize()
fin.close();
if ( m_DartMode )
{
+ m_TimeOut = atoi(m_DartConfiguration["TimeOut"].c_str());
std::string testingDir = m_ToplevelPath + "/Testing";
if ( cmSystemTools::FileExists(testingDir.c_str()) )
{
@@ -559,9 +561,9 @@ int cmCTest::UpdateDirectory()
std::ofstream ofs;
if ( !m_ShowOnly )
{
- res = cmSystemTools::RunCommand(command.c_str(), goutput,
- retVal, sourceDirectory.c_str(),
- m_Verbose);
+ res = cmSystemTools::RunSingleCommand(command.c_str(), &goutput,
+ &retVal, sourceDirectory.c_str(),
+ m_Verbose, m_TimeOut);
if ( this->OpenOutputFile("Temporary", "LastUpdate.log", ofs) )
{
ofs << goutput << std::endl;;
@@ -614,9 +616,9 @@ int cmCTest::UpdateDirectory()
std::string logcommand = cvsCommand + " -z3 log -N " + file;
//std::cout << "Do log: " << logcommand << std::endl;
std::string output;
- res = cmSystemTools::RunCommand(logcommand.c_str(), output,
- retVal, sourceDirectory.c_str(),
- m_Verbose);
+ res = cmSystemTools::RunSingleCommand(logcommand.c_str(), &output,
+ &retVal, sourceDirectory.c_str(),
+ m_Verbose, m_TimeOut);
if ( ofs )
{
ofs << output << std::endl;
@@ -868,9 +870,9 @@ int cmCTest::ConfigureDirectory()
}
std::string start_time = ::CurrentTime();
- res = cmSystemTools::RunCommand(cCommand.c_str(), output,
- retVal, buildDirectory.c_str(),
- m_Verbose);
+ res = cmSystemTools::RunSingleCommand(cCommand.c_str(), &output,
+ &retVal, buildDirectory.c_str(),
+ m_Verbose, m_TimeOut);
std::ofstream ofs;
if ( this->OpenOutputFile("Temporary", "LastConfigure.log", ofs) )
{
@@ -935,9 +937,9 @@ int cmCTest::BuildDirectory()
bool res = true;
if ( !m_ShowOnly )
{
- res = cmSystemTools::RunCommand(makeCommand.c_str(), output,
- retVal, buildDirectory.c_str(),
- m_Verbose);
+ res = cmSystemTools::RunSingleCommand(makeCommand.c_str(), &output,
+ &retVal, buildDirectory.c_str(),
+ m_Verbose, m_TimeOut);
}
else
{
@@ -1211,9 +1213,9 @@ int cmCTest::CoverageDirectory()
bool res = true;
if ( !m_ShowOnly )
{
- res = cmSystemTools::RunCommand(command.c_str(), output,
- retVal, opath.c_str(),
- m_Verbose);
+ res = cmSystemTools::RunSingleCommand(command.c_str(), &output,
+ &retVal, opath.c_str(),
+ m_Verbose, m_TimeOut);
}
if ( res && retVal == 0 )
{
@@ -1721,8 +1723,8 @@ void cmCTest::ProcessDirectory(std::vector<std::string> &passed,
bool res = true;
if ( !m_ShowOnly )
{
- res = cmSystemTools::RunCommand(testCommand.c_str(), output,
- retVal, 0, false);
+ res = cmSystemTools::RunSingleCommand(testCommand.c_str(), &output,
+ &retVal, 0, false, m_TimeOut);
}
clock_finish = cmSystemTools::GetTime();
diff --git a/Source/cmCTest.h b/Source/cmCTest.h
index 926d5de..c6e22fa 100644
--- a/Source/cmCTest.h
+++ b/Source/cmCTest.h
@@ -210,6 +210,8 @@ private:
int m_TestModel;
+ int m_TimeOut;
+
/**
* Generate the Dart compatible output
*/