mirror of
https://github.com/Kitware/CMake.git
synced 2025-10-15 03:48:02 +08:00
cmCTest: De-duplicate working directory code
This commit is contained in:
@@ -716,20 +716,6 @@ int cmCTest::ProcessSteps()
|
|||||||
this->Impl->Verbose = true;
|
this->Impl->Verbose = true;
|
||||||
this->Impl->ProduceXML = true;
|
this->Impl->ProduceXML = true;
|
||||||
|
|
||||||
std::string const currDir = cmSystemTools::GetLogicalWorkingDirectory();
|
|
||||||
std::string workDir = currDir;
|
|
||||||
if (!this->Impl->TestDir.empty()) {
|
|
||||||
workDir = cmSystemTools::ToNormalizedPathOnDisk(this->Impl->TestDir);
|
|
||||||
}
|
|
||||||
|
|
||||||
cmWorkingDirectory changeDir(workDir);
|
|
||||||
if (changeDir.Failed()) {
|
|
||||||
cmCTestLog(this, ERROR_MESSAGE, changeDir.GetError() << std::endl);
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
this->Impl->BinaryDir = workDir;
|
|
||||||
cmSystemTools::ConvertToUnixSlashes(this->Impl->BinaryDir);
|
|
||||||
this->UpdateCTestConfiguration();
|
this->UpdateCTestConfiguration();
|
||||||
this->BlockTestErrorDiagnostics();
|
this->BlockTestErrorDiagnostics();
|
||||||
|
|
||||||
@@ -2648,6 +2634,19 @@ int cmCTest::Run(std::vector<std::string> const& args)
|
|||||||
return this->RunScripts(runScripts);
|
return this->RunScripts(runScripts);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Establish the working directory.
|
||||||
|
std::string const currDir = cmSystemTools::GetLogicalWorkingDirectory();
|
||||||
|
std::string workDir = currDir;
|
||||||
|
if (!this->Impl->TestDir.empty()) {
|
||||||
|
workDir = cmSystemTools::ToNormalizedPathOnDisk(this->Impl->TestDir);
|
||||||
|
}
|
||||||
|
cmWorkingDirectory changeDir(workDir);
|
||||||
|
if (changeDir.Failed()) {
|
||||||
|
cmCTestLog(this, ERROR_MESSAGE, changeDir.GetError() << std::endl);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
this->Impl->BinaryDir = workDir;
|
||||||
|
|
||||||
// -D, -T, and/or -M was specified
|
// -D, -T, and/or -M was specified
|
||||||
if (processSteps) {
|
if (processSteps) {
|
||||||
return this->ProcessSteps();
|
return this->ProcessSteps();
|
||||||
@@ -2682,18 +2681,6 @@ int cmCTest::ExecuteTests(std::vector<std::string> const& args)
|
|||||||
this->Impl->ExtraVerbose = this->Impl->Verbose;
|
this->Impl->ExtraVerbose = this->Impl->Verbose;
|
||||||
this->Impl->Verbose = true;
|
this->Impl->Verbose = true;
|
||||||
|
|
||||||
std::string const currDir = cmSystemTools::GetLogicalWorkingDirectory();
|
|
||||||
std::string workDir = currDir;
|
|
||||||
if (!this->Impl->TestDir.empty()) {
|
|
||||||
workDir = cmSystemTools::ToNormalizedPathOnDisk(this->Impl->TestDir);
|
|
||||||
}
|
|
||||||
|
|
||||||
cmWorkingDirectory changeDir(workDir);
|
|
||||||
if (changeDir.Failed()) {
|
|
||||||
cmCTestLog(this, ERROR_MESSAGE, changeDir.GetError() << std::endl);
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
cmCTestLog(this, DEBUG, "Here: " << __LINE__ << std::endl);
|
cmCTestLog(this, DEBUG, "Here: " << __LINE__ << std::endl);
|
||||||
if (!this->Impl->InteractiveDebugMode) {
|
if (!this->Impl->InteractiveDebugMode) {
|
||||||
this->BlockTestErrorDiagnostics();
|
this->BlockTestErrorDiagnostics();
|
||||||
@@ -2701,9 +2688,6 @@ int cmCTest::ExecuteTests(std::vector<std::string> const& args)
|
|||||||
cmSystemTools::PutEnv("CTEST_INTERACTIVE_DEBUG_MODE=1");
|
cmSystemTools::PutEnv("CTEST_INTERACTIVE_DEBUG_MODE=1");
|
||||||
}
|
}
|
||||||
|
|
||||||
this->Impl->BinaryDir = workDir;
|
|
||||||
cmSystemTools::ConvertToUnixSlashes(this->Impl->BinaryDir);
|
|
||||||
|
|
||||||
this->UpdateCTestConfiguration();
|
this->UpdateCTestConfiguration();
|
||||||
|
|
||||||
cmCTestLog(this, DEBUG, "Here: " << __LINE__ << std::endl);
|
cmCTestLog(this, DEBUG, "Here: " << __LINE__ << std::endl);
|
||||||
|
Reference in New Issue
Block a user