diff --git a/src/plugins/autotest/autotesticons.h b/src/plugins/autotest/autotesticons.h index 30f5a0d424d..83bffffeb0e 100644 --- a/src/plugins/autotest/autotesticons.h +++ b/src/plugins/autotest/autotesticons.h @@ -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); diff --git a/src/plugins/autotest/qtest/qttestoutputreader.cpp b/src/plugins/autotest/qtest/qttestoutputreader.cpp index 617e682e1e4..12db7d55a02 100644 --- a/src/plugins/autotest/qtest/qttestoutputreader.cpp +++ b/src/plugins/autotest/qtest/qttestoutputreader.cpp @@ -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+\\))$"); diff --git a/src/plugins/autotest/testresult.cpp b/src/plugins/autotest/testresult.cpp index 250fc9491f6..11d4ecb9365 100644 --- a/src/plugins/autotest/testresult.cpp +++ b/src/plugins/autotest/testresult.cpp @@ -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); } diff --git a/src/plugins/autotest/testresult.h b/src/plugins/autotest/testresult.h index 39a14a72187..2632be9e309 100644 --- a/src/plugins/autotest/testresult.h +++ b/src/plugins/autotest/testresult.h @@ -46,6 +46,8 @@ enum Type { Skip, BlacklistedPass, BlacklistedFail, + BlacklistedXPass, + BlacklistedXFail, Benchmark, MessageDebug, MessageInfo, diff --git a/src/plugins/autotest/testresultmodel.cpp b/src/plugins/autotest/testresultmodel.cpp index a694ba8c228..c1d86342f00 100644 --- a/src/plugins/autotest/testresultmodel.cpp +++ b/src/plugins/autotest/testresultmodel.cpp @@ -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