Commit 1166aa5c authored by Gregor Jasny's avatar Gregor Jasny
Browse files

ctest: refactor some code

parent 451d3907
...@@ -432,32 +432,26 @@ bool cmCTestRunTest::StartTest(size_t completed, size_t total) ...@@ -432,32 +432,26 @@ bool cmCTestRunTest::StartTest(size_t completed, size_t total)
this->ProcessOutput.clear(); this->ProcessOutput.clear();
// Return immediately if test is disabled
if (this->TestProperties->Disabled) {
this->TestResult.Properties = this->TestProperties; this->TestResult.Properties = this->TestProperties;
this->TestResult.ExecutionTime = cmDuration::zero(); this->TestResult.ExecutionTime = cmDuration::zero();
this->TestResult.CompressOutput = false; this->TestResult.CompressOutput = false;
this->TestResult.ReturnValue = -1; this->TestResult.ReturnValue = -1;
this->TestResult.CompletionStatus = "Disabled";
this->TestResult.Status = cmCTestTestHandler::NOT_RUN;
this->TestResult.TestCount = this->TestProperties->Index; this->TestResult.TestCount = this->TestProperties->Index;
this->TestResult.Name = this->TestProperties->Name; this->TestResult.Name = this->TestProperties->Name;
this->TestResult.Path = this->TestProperties->Directory; this->TestResult.Path = this->TestProperties->Directory;
// Return immediately if test is disabled
if (this->TestProperties->Disabled) {
this->TestResult.CompletionStatus = "Disabled";
this->TestResult.Status = cmCTestTestHandler::NOT_RUN;
this->TestProcess = cm::make_unique<cmProcess>(*this); this->TestProcess = cm::make_unique<cmProcess>(*this);
this->TestResult.Output = "Disabled"; this->TestResult.Output = "Disabled";
this->TestResult.FullCommandLine.clear(); this->TestResult.FullCommandLine.clear();
return false; return false;
} }
this->TestResult.Properties = this->TestProperties;
this->TestResult.ExecutionTime = cmDuration::zero();
this->TestResult.CompressOutput = false;
this->TestResult.ReturnValue = -1;
this->TestResult.CompletionStatus = "Failed to start"; this->TestResult.CompletionStatus = "Failed to start";
this->TestResult.Status = cmCTestTestHandler::BAD_COMMAND; this->TestResult.Status = cmCTestTestHandler::BAD_COMMAND;
this->TestResult.TestCount = this->TestProperties->Index;
this->TestResult.Name = this->TestProperties->Name;
this->TestResult.Path = this->TestProperties->Directory;
// Check for failed fixture dependencies before we even look at the command // Check for failed fixture dependencies before we even look at the command
// arguments because if we are not going to run the test, the command and // arguments because if we are not going to run the test, the command and
...@@ -635,9 +629,8 @@ bool cmCTestRunTest::ForkProcess(cmDuration testTimeOut, bool explicitTimeout, ...@@ -635,9 +629,8 @@ bool cmCTestRunTest::ForkProcess(cmDuration testTimeOut, bool explicitTimeout,
{ {
this->TestProcess = cm::make_unique<cmProcess>(*this); this->TestProcess = cm::make_unique<cmProcess>(*this);
this->TestProcess->SetId(this->Index); this->TestProcess->SetId(this->Index);
this->TestProcess->SetWorkingDirectory( this->TestProcess->SetWorkingDirectory(this->TestProperties->Directory);
this->TestProperties->Directory.c_str()); this->TestProcess->SetCommand(this->ActualCommand);
this->TestProcess->SetCommand(this->ActualCommand.c_str());
this->TestProcess->SetCommandArguments(this->Arguments); this->TestProcess->SetCommandArguments(this->Arguments);
// determine how much time we have // determine how much time we have
......
...@@ -73,7 +73,7 @@ cmProcess::cmProcess(cmCTestRunTest& runner) ...@@ -73,7 +73,7 @@ cmProcess::cmProcess(cmCTestRunTest& runner)
cmProcess::~cmProcess() = default; cmProcess::~cmProcess() = default;
void cmProcess::SetCommand(const char* command) void cmProcess::SetCommand(std::string const& command)
{ {
this->Command = command; this->Command = command;
} }
...@@ -83,6 +83,11 @@ void cmProcess::SetCommandArguments(std::vector<std::string> const& args) ...@@ -83,6 +83,11 @@ void cmProcess::SetCommandArguments(std::vector<std::string> const& args)
this->Arguments = args; this->Arguments = args;
} }
void cmProcess::SetWorkingDirectory(std::string const& dir)
{
this->WorkingDirectory = dir;
}
bool cmProcess::StartProcess(uv_loop_t& loop, std::vector<size_t>* affinity) bool cmProcess::StartProcess(uv_loop_t& loop, std::vector<size_t>* affinity)
{ {
this->ProcessState = cmProcess::State::Error; this->ProcessState = cmProcess::State::Error;
......
...@@ -28,10 +28,9 @@ class cmProcess ...@@ -28,10 +28,9 @@ class cmProcess
public: public:
explicit cmProcess(cmCTestRunTest& runner); explicit cmProcess(cmCTestRunTest& runner);
~cmProcess(); ~cmProcess();
const char* GetCommand() { return this->Command.c_str(); } void SetCommand(std::string const& command);
void SetCommand(const char* command);
void SetCommandArguments(std::vector<std::string> const& arg); void SetCommandArguments(std::vector<std::string> const& arg);
void SetWorkingDirectory(const char* dir) { this->WorkingDirectory = dir; } void SetWorkingDirectory(std::string const& dir);
void SetTimeout(cmDuration t) { this->Timeout = t; } void SetTimeout(cmDuration t) { this->Timeout = t; }
void ChangeTimeout(cmDuration t); void ChangeTimeout(cmDuration t);
void ResetStartTime(); void ResetStartTime();
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment