AutoTest: Create tree item for each failure

Introduce special location item for this purpose.

Task-number: QTCREATORBUG-20967
Change-Id: Icb6c6ec8ff9d2e4e8e3d13834427bae50d74bd2a
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
Sergey Morozov
2018-08-18 21:48:34 +03:00
parent fa4693fd29
commit db85693690
6 changed files with 40 additions and 17 deletions

View File

@@ -57,6 +57,7 @@ static QIcon testResultIcon(Result::Type result) {
Icons::RESULT_MESSAGEWARN.icon(),
Icons::RESULT_MESSAGEFATAL.icon(),
Icons::RESULT_MESSAGEFATAL.icon(), // System gets same handling as Fatal for now
QIcon(),
Icons::RESULT_MESSAGEPASSWARN.icon(),
Icons::RESULT_MESSAGEFAILWARN.icon(),
}; // provide an icon for unknown??
@@ -81,8 +82,14 @@ static QIcon testResultIcon(Result::Type result) {
QVariant TestResultItem::data(int column, int role) const
{
switch (role) {
case Qt::DecorationRole:
return m_testResult ? testResultIcon(m_testResult->result()) : QVariant();
case Qt::DecorationRole: {
if (!m_testResult)
return QVariant();
const Result::Type result = m_testResult->result();
if (result == Result::MessageLocation && parent())
return parent()->data(column, role);
return testResultIcon(result);
}
case Qt::DisplayRole:
return m_testResult ? m_testResult->outputString(true) : QVariant();
default:
@@ -354,7 +361,7 @@ void TestResultFilterModel::enableAllResultTypes()
{
m_enabled << Result::Pass << Result::Fail << Result::ExpectedFail
<< Result::UnexpectedPass << Result::Skip << Result::MessageDebug
<< Result::MessageWarn << Result::MessageInternal
<< Result::MessageWarn << Result::MessageInternal << Result::MessageLocation
<< Result::MessageFatal << Result::Invalid << Result::BlacklistedPass
<< Result::BlacklistedFail << Result::Benchmark << Result::MessageIntermediate
<< Result::MessageCurrentTest << Result::MessageTestCaseStart