forked from qt-creator/qt-creator
AutoTest: Support blacklisted XPass and XFail
Blacklisted XPass and blacklisted XFail have been added to QTest. Add the respective handling to the plugin. Change-Id: I96b85fa045bdf51abd8e295b075f9ab1ed95eb66 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
This commit is contained in:
@@ -63,6 +63,14 @@ const Utils::Icon RESULT_BLACKLISTEDFAIL({
|
||||
{":/utils/images/filledcircle.png", Utils::Theme::OutputPanes_TestFailTextColor},
|
||||
{":/projectexplorer/images/buildstepdisable.png", Utils::Theme::PanelTextColorDark}},
|
||||
Utils::Icon::Tint | Utils::Icon::PunchEdges);
|
||||
const Utils::Icon RESULT_BLACKLISTEDXPASS({
|
||||
{":/utils/images/filledcircle.png", Utils::Theme::OutputPanes_TestXPassTextColor},
|
||||
{":/projectexplorer/images/buildstepdisable.png", Utils::Theme::PanelTextColorDark}},
|
||||
Utils::Icon::Tint | Utils::Icon::PunchEdges);
|
||||
const Utils::Icon RESULT_BLACKLISTEDXFAIL({
|
||||
{":/utils/images/filledcircle.png", Utils::Theme::OutputPanes_TestXFailTextColor},
|
||||
{":/projectexplorer/images/buildstepdisable.png", Utils::Theme::PanelTextColorDark}},
|
||||
Utils::Icon::Tint | Utils::Icon::PunchEdges);
|
||||
const Utils::Icon RESULT_BENCHMARK({
|
||||
{":/utils/images/filledcircle.png", Utils::Theme::BackgroundColorNormal},
|
||||
{":/autotest/images/benchmark.png", Utils::Theme::PanelTextColorDark}}, Utils::Icon::Tint);
|
||||
|
@@ -352,7 +352,8 @@ void QtTestOutputReader::processPlainTextOutput(const QByteArray &outputLineWith
|
||||
static QRegExp summary("^Totals: \\d+ passed, \\d+ failed, \\d+ skipped(, \\d+ blacklisted)?$");
|
||||
static QRegExp finish("^[*]{9} Finished testing of (.*) [*]{9}$");
|
||||
|
||||
static QRegExp result("^(PASS |FAIL! |XFAIL |XPASS |SKIP |BPASS |BFAIL |RESULT "
|
||||
static QRegExp result("^(PASS |FAIL! |XFAIL |XPASS |SKIP |RESULT "
|
||||
"|BPASS |BFAIL |BXPASS |BXFAIL "
|
||||
"|INFO |QWARN |WARNING|QDEBUG |QSYSTEM): (.*)$");
|
||||
|
||||
static QRegExp benchDetails("^\\s+([\\d,.]+ .* per iteration \\(total: [\\d,.]+, iterations: \\d+\\))$");
|
||||
|
@@ -91,6 +91,10 @@ Result::Type TestResult::resultFromString(const QString &resultString)
|
||||
return Result::BlacklistedPass;
|
||||
if (resultString == "bfail")
|
||||
return Result::BlacklistedFail;
|
||||
if (resultString == "bxpass")
|
||||
return Result::BlacklistedXPass;
|
||||
if (resultString == "bxfail")
|
||||
return Result::BlacklistedXFail;
|
||||
qDebug("Unexpected test result: %s", qPrintable(resultString));
|
||||
return Result::Invalid;
|
||||
}
|
||||
@@ -136,6 +140,10 @@ QString TestResult::resultToString(const Result::Type type)
|
||||
return QString("BPASS");
|
||||
case Result::BlacklistedFail:
|
||||
return QString("BFAIL");
|
||||
case Result::BlacklistedXPass:
|
||||
return QString("BXPASS");
|
||||
case Result::BlacklistedXFail:
|
||||
return QString("BXFAIL");
|
||||
case Result::MessageLocation:
|
||||
return QString();
|
||||
default:
|
||||
@@ -172,6 +180,8 @@ QColor TestResult::colorForType(const Result::Type type)
|
||||
return creatorTheme->color(Utils::Theme::OutputPanes_TestFatalTextColor);
|
||||
case Result::BlacklistedPass:
|
||||
case Result::BlacklistedFail:
|
||||
case Result::BlacklistedXPass:
|
||||
case Result::BlacklistedXFail:
|
||||
default:
|
||||
return creatorTheme->color(Utils::Theme::OutputPanes_StdOutTextColor);
|
||||
}
|
||||
|
@@ -46,6 +46,8 @@ enum Type {
|
||||
Skip,
|
||||
BlacklistedPass,
|
||||
BlacklistedFail,
|
||||
BlacklistedXPass,
|
||||
BlacklistedXFail,
|
||||
Benchmark,
|
||||
MessageDebug,
|
||||
MessageInfo,
|
||||
|
@@ -51,6 +51,8 @@ static QIcon testResultIcon(Result::Type result) {
|
||||
Icons::RESULT_SKIP.icon(),
|
||||
Icons::RESULT_BLACKLISTEDPASS.icon(),
|
||||
Icons::RESULT_BLACKLISTEDFAIL.icon(),
|
||||
Icons::RESULT_BLACKLISTEDXPASS.icon(),
|
||||
Icons::RESULT_BLACKLISTEDXFAIL.icon(),
|
||||
Icons::RESULT_BENCHMARK.icon(),
|
||||
Icons::RESULT_MESSAGEDEBUG.icon(),
|
||||
Icons::RESULT_MESSAGEDEBUG.icon(), // Info gets the same handling as Debug for now
|
||||
@@ -69,9 +71,9 @@ static QIcon testResultIcon(Result::Type result) {
|
||||
case Result::MessageTestCaseFail:
|
||||
return icons[Result::Fail];
|
||||
case Result::MessageTestCaseSuccessWarn:
|
||||
return icons[14];
|
||||
return icons[16];
|
||||
case Result::MessageTestCaseFailWarn:
|
||||
return icons[15];
|
||||
return icons[17];
|
||||
default:
|
||||
return QIcon();
|
||||
}
|
||||
@@ -131,6 +133,8 @@ void TestResultItem::updateResult(bool &changed, Result::Type addedChildType)
|
||||
case Result::Skip:
|
||||
case Result::BlacklistedFail:
|
||||
case Result::BlacklistedPass:
|
||||
case Result::BlacklistedXFail:
|
||||
case Result::BlacklistedXPass:
|
||||
case Result::MessageTestCaseSuccessWarn:
|
||||
newResult = (old == Result::MessageTestCaseFail) ? Result::MessageTestCaseFailWarn
|
||||
: Result::MessageTestCaseSuccessWarn;
|
||||
@@ -363,7 +367,8 @@ void TestResultFilterModel::enableAllResultTypes()
|
||||
<< Result::UnexpectedPass << Result::Skip << Result::MessageDebug
|
||||
<< Result::MessageWarn << Result::MessageInternal << Result::MessageLocation
|
||||
<< Result::MessageFatal << Result::Invalid << Result::BlacklistedPass
|
||||
<< Result::BlacklistedFail << Result::Benchmark << Result::MessageIntermediate
|
||||
<< Result::BlacklistedFail << Result::BlacklistedXFail << Result::BlacklistedXPass
|
||||
<< Result::Benchmark << Result::MessageIntermediate
|
||||
<< Result::MessageCurrentTest << Result::MessageTestCaseStart
|
||||
<< Result::MessageTestCaseSuccess << Result::MessageTestCaseSuccessWarn
|
||||
<< Result::MessageTestCaseFail << Result::MessageTestCaseFailWarn
|
||||
|
Reference in New Issue
Block a user