summaryrefslogtreecommitdiffstats
path: root/src/testlib/qjunittestlogger.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/testlib/qjunittestlogger.cpp')
-rw-r--r--src/testlib/qjunittestlogger.cpp15
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);
}