diff options
Diffstat (limited to 'src/testlib/qjunittestlogger.cpp')
-rw-r--r-- | src/testlib/qjunittestlogger.cpp | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/testlib/qjunittestlogger.cpp b/src/testlib/qjunittestlogger.cpp index a120171c3a2..10fe8fd81a6 100644 --- a/src/testlib/qjunittestlogger.cpp +++ b/src/testlib/qjunittestlogger.cpp @@ -258,7 +258,20 @@ void QJUnitTestLogger::addIncident(IncidentTypes type, const char *description, if (type == QAbstractTestLogger::Fail || type == QAbstractTestLogger::XPass) { QTestElement *failureElement = new QTestElement(QTest::LET_Failure); failureElement->addAttribute(QTest::AI_Type, typeBuf); - failureElement->addAttribute(QTest::AI_Message, description); + + // Assume the first line is the message, and the remainder are details + QString descriptionString = QString::fromUtf8(description); + QString message = descriptionString.section(QLatin1Char('\n'), 0, 0); + QString details = descriptionString.section(QLatin1Char('\n'), 1); + + failureElement->addAttribute(QTest::AI_Message, message.toUtf8().constData()); + + if (!details.isEmpty()) { + auto messageElement = new QTestElement(QTest::LET_Message); + messageElement->addAttribute(QTest::AI_Message, details.toUtf8().constData()); + failureElement->addLogElement(messageElement); + } + currentLogElement->addLogElement(failureElement); } |