diff options
author | Craig Scott <craig.scott@crascit.com> | 2017-11-27 11:06:14 (GMT) |
---|---|---|
committer | Craig Scott <craig.scott@crascit.com> | 2017-11-28 20:27:20 (GMT) |
commit | fbe91dba6a615d799f3ece996ddccdabb819c4dc (patch) | |
tree | e685f316ebe2feebd5c94892a30ea06c1c3acee7 /Source | |
parent | b1d3fb7fba735d829c2cd655830161871827d82e (diff) | |
download | CMake-fbe91dba6a615d799f3ece996ddccdabb819c4dc.zip CMake-fbe91dba6a615d799f3ece996ddccdabb819c4dc.tar.gz CMake-fbe91dba6a615d799f3ece996ddccdabb819c4dc.tar.bz2 |
CTest: Check failed fixture dependencies before test command and args
Diffstat (limited to 'Source')
-rw-r--r-- | Source/CTest/cmCTestRunTest.cxx | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/Source/CTest/cmCTestRunTest.cxx b/Source/CTest/cmCTestRunTest.cxx index 99531af..5443494 100644 --- a/Source/CTest/cmCTestRunTest.cxx +++ b/Source/CTest/cmCTestRunTest.cxx @@ -432,8 +432,6 @@ bool cmCTestRunTest::StartTest(size_t total) return false; } - this->ComputeArguments(); - std::vector<std::string>& args = this->TestProperties->Args; this->TestResult.Properties = this->TestProperties; this->TestResult.ExecutionTime = 0; this->TestResult.CompressOutput = false; @@ -444,6 +442,10 @@ bool cmCTestRunTest::StartTest(size_t total) this->TestResult.Name = this->TestProperties->Name; this->TestResult.Path = this->TestProperties->Directory; + // 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 + // its arguments are irrelevant. This matters for the case where a fixture + // dependency might be creating the executable we want to run. if (!this->FailedDependencies.empty()) { this->TestProcess = new cmProcess; std::string msg = "Failed test dependencies:"; @@ -459,6 +461,8 @@ bool cmCTestRunTest::StartTest(size_t total) return false; } + this->ComputeArguments(); + std::vector<std::string>& args = this->TestProperties->Args; if (args.size() >= 2 && args[1] == "NOT_AVAILABLE") { this->TestProcess = new cmProcess; std::string msg; |