Просмотр исходного кода

Merge topic 'fix_ctest_working_dir'

3f94c7c When processing DartMeasurements use the tests working directory.
David Cole 15 лет назад
Родитель
Сommit
9bf662a92a
1 измененных файлов с 10 добавлено и 0 удалено
  1. 10 0
      Source/CTest/cmCTestRunTest.cxx

+ 10 - 0
Source/CTest/cmCTestRunTest.cxx

@@ -264,7 +264,17 @@ bool cmCTestRunTest::EndTest(size_t completed, size_t total, bool started)
     {
     *this->TestHandler->LogFile << "Test time = " << buf << std::endl;
     }
+
+  // Set the working directory to the tests directory
+  std::string oldpath = cmSystemTools::GetCurrentWorkingDirectory();
+  cmSystemTools::ChangeDirectory(this->TestProperties->Directory.c_str());
+
   this->DartProcessing();
+
+  // restore working directory
+  cmSystemTools::ChangeDirectory(oldpath.c_str());
+
+
   // if this is doing MemCheck then all the output needs to be put into
   // Output since that is what is parsed by cmCTestMemCheckHandler
   if(!this->TestHandler->MemCheck && started)