From f2010871ba9802386cb63733faf6e1a3b762158b Mon Sep 17 00:00:00 2001 From: Zach Mullen Date: Tue, 20 Oct 2009 10:54:02 -0400 Subject: Ctest was broken for subdirs. Restored working directory state for tests so that their executables could be found. --- Source/CTest/cmCTestMultiProcessHandler.cxx | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Source/CTest/cmCTestMultiProcessHandler.cxx b/Source/CTest/cmCTestMultiProcessHandler.cxx index 63dfe7e..1ff5231 100644 --- a/Source/CTest/cmCTestMultiProcessHandler.cxx +++ b/Source/CTest/cmCTestMultiProcessHandler.cxx @@ -81,6 +81,10 @@ void cmCTestMultiProcessHandler::StartTestProcess(int test) cmCTestRunTest* testRun = new cmCTestRunTest(this->TestHandler); testRun->SetIndex(test); testRun->SetTestProperties(this->Properties[test]); + + std::string current_dir = cmSystemTools::GetCurrentWorkingDirectory(); + cmSystemTools::ChangeDirectory(this->Properties[test]->Directory.c_str()); + if(testRun->StartTest(this->Total)) { this->RunningTests.insert(testRun); @@ -92,6 +96,7 @@ void cmCTestMultiProcessHandler::StartTestProcess(int test) testRun->EndTest(this->Completed, this->Total, false); this->Failed->push_back(this->Properties[test]->Name); } + cmSystemTools::ChangeDirectory(current_dir.c_str()); } //--------------------------------------------------------- -- cgit v0.12