diff options
author | Bill Hoffman <bill.hoffman@kitware.com> | 2010-10-19 16:15:32 -0400 |
---|---|---|
committer | Bill Hoffman <bill.hoffman@kitware.com> | 2010-10-19 16:15:32 -0400 |
commit | 3f94c7cc395d3f20890a6c9a14aa2795a5a9ce87 (patch) | |
tree | 09f51d827f7abc975c51c2f8e57a747d45ead5b5 /Source | |
parent | 9e6eb7c8b6fb3bba9e92c674665f4ab8a1f7414e (diff) | |
download | cmake-3f94c7cc395d3f20890a6c9a14aa2795a5a9ce87.tar.gz |
When processing DartMeasurements use the tests working directory.
Restore CMake 2.6 behavoir where the dart processing apparently was run from within the tests directory instead of the root of the build tree. This addresses issue reported on the VTK Dashboard where the Testing/Temporary directory is defined as ../../../Testing/Temporary but the DartProcessing is run with respect to the root of the build tree. This causes the regression/difference images to not be located by ctest and thus not uploaded to the dashboard.
Diffstat (limited to 'Source')
-rw-r--r-- | Source/CTest/cmCTestRunTest.cxx | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/Source/CTest/cmCTestRunTest.cxx b/Source/CTest/cmCTestRunTest.cxx index 6570d0e2a7..76ff23a0de 100644 --- a/Source/CTest/cmCTestRunTest.cxx +++ b/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) |