|
|
@@ -535,11 +535,21 @@ int cmCTestTestHandler::ProcessHandler()
|
|
|
percent = 99;
|
|
|
}
|
|
|
|
|
|
+ std::string passColorCode;
|
|
|
+ std::string failedColorCode;
|
|
|
+ if (failed.empty()) {
|
|
|
+ passColorCode = this->CTest->GetColorCode(cmCTest::Color::GREEN);
|
|
|
+ } else {
|
|
|
+ failedColorCode = this->CTest->GetColorCode(cmCTest::Color::RED);
|
|
|
+ }
|
|
|
cmCTestLog(this->CTest, HANDLER_OUTPUT,
|
|
|
std::endl
|
|
|
- << static_cast<int>(percent + .5f) << "% tests passed, "
|
|
|
- << failed.size() << " tests failed out of " << total
|
|
|
- << std::endl);
|
|
|
+ << passColorCode << static_cast<int>(percent + .5f)
|
|
|
+ << "% tests passed"
|
|
|
+ << this->CTest->GetColorCode(cmCTest::Color::CLEAR_COLOR)
|
|
|
+ << ", " << failedColorCode << failed.size() << " tests failed"
|
|
|
+ << this->CTest->GetColorCode(cmCTest::Color::CLEAR_COLOR)
|
|
|
+ << " out of " << total << std::endl);
|
|
|
if ((!this->CTest->GetLabelsForSubprojects().empty() &&
|
|
|
this->CTest->GetSubprojectSummary())) {
|
|
|
this->PrintLabelOrSubprojectSummary(true);
|
|
|
@@ -562,6 +572,8 @@ int cmCTestTestHandler::ProcessHandler()
|
|
|
this->StartLogFile("TestsDisabled", ofs);
|
|
|
|
|
|
const char* disabled_reason;
|
|
|
+ cmCTestLog(this->CTest, HANDLER_OUTPUT,
|
|
|
+ this->CTest->GetColorCode(cmCTest::Color::BLUE));
|
|
|
for (cmCTestTestResult const& dt : disabledTests) {
|
|
|
ofs << dt.TestCount << ":" << dt.Name << std::endl;
|
|
|
if (dt.CompletionStatus == "Disabled") {
|
|
|
@@ -573,6 +585,8 @@ int cmCTestTestHandler::ProcessHandler()
|
|
|
"\t" << std::setw(3) << dt.TestCount << " - " << dt.Name
|
|
|
<< " (" << disabled_reason << ")" << std::endl);
|
|
|
}
|
|
|
+ cmCTestLog(this->CTest, HANDLER_OUTPUT,
|
|
|
+ this->CTest->GetColorCode(cmCTest::Color::CLEAR_COLOR));
|
|
|
}
|
|
|
|
|
|
if (!failed.empty()) {
|
|
|
@@ -587,10 +601,17 @@ int cmCTestTestHandler::ProcessHandler()
|
|
|
!cmHasLiteralPrefix(ft.CompletionStatus, "SKIP_RETURN_CODE=") &&
|
|
|
ft.CompletionStatus != "Disabled") {
|
|
|
ofs << ft.TestCount << ":" << ft.Name << std::endl;
|
|
|
- cmCTestLog(this->CTest, HANDLER_OUTPUT,
|
|
|
- "\t" << std::setw(3) << ft.TestCount << " - " << ft.Name
|
|
|
- << " (" << this->GetTestStatus(ft) << ")"
|
|
|
- << std::endl);
|
|
|
+ auto testColor = cmCTest::Color::RED;
|
|
|
+ if (this->GetTestStatus(ft) == "Not Run") {
|
|
|
+ testColor = cmCTest::Color::YELLOW;
|
|
|
+ }
|
|
|
+ cmCTestLog(
|
|
|
+ this->CTest, HANDLER_OUTPUT,
|
|
|
+ "\t" << this->CTest->GetColorCode(testColor) << std::setw(3)
|
|
|
+ << ft.TestCount << " - " << ft.Name << " ("
|
|
|
+ << this->GetTestStatus(ft) << ")"
|
|
|
+ << this->CTest->GetColorCode(cmCTest::Color::CLEAR_COLOR)
|
|
|
+ << std::endl);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -1725,7 +1746,7 @@ void cmCTestTestHandler::UseExcludeRegExp()
|
|
|
this->UseExcludeRegExpFirst = !this->UseIncludeRegExpFlag;
|
|
|
}
|
|
|
|
|
|
-const char* cmCTestTestHandler::GetTestStatus(cmCTestTestResult const& result)
|
|
|
+std::string cmCTestTestHandler::GetTestStatus(cmCTestTestResult const& result)
|
|
|
{
|
|
|
static const char* statuses[] = { "Not Run", "Timeout", "SEGFAULT",
|
|
|
"ILLEGAL", "INTERRUPT", "NUMERICAL",
|
|
|
@@ -1737,7 +1758,7 @@ const char* cmCTestTestHandler::GetTestStatus(cmCTestTestResult const& result)
|
|
|
return "No Status";
|
|
|
}
|
|
|
if (status == cmCTestTestHandler::OTHER_FAULT) {
|
|
|
- return result.ExceptionStatus.c_str();
|
|
|
+ return result.ExceptionStatus;
|
|
|
}
|
|
|
return statuses[status];
|
|
|
}
|