From 4632be1b4d8c5037c83b7c006850da73b590180e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= Date: Tue, 3 Aug 2021 14:27:45 +0200 Subject: [PATCH] testlib: Don't write redundant log message information in JUnit reporter MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The separation between and is sufficient, and we can't expect consumers to interpret our custom comment format. The type of the text node has been renamed to more accurately identify its purpose. Pick-to: 6.2 Change-Id: I63c8ff17529fc087e1b695698350a6711eb5e68d Reviewed-by: Mårten Nordheim Reviewed-by: Edward Welbourne --- src/testlib/qjunittestlogger.cpp | 77 +- src/testlib/qtestelementattribute_p.h | 2 +- src/testlib/qtestjunitstreamer.cpp | 43 +- .../selftests/expected_badxml.junitxml | 13 - .../expected_commandlinedata.junitxml | 6 - .../selftests/expected_counting.junitxml | 2 - .../selftests/expected_expectfail.junitxml | 13 - .../selftests/expected_faildatatype.junitxml | 1 - .../selftests/expected_findtestdata.junitxml | 1 - .../selftests/expected_globaldata.junitxml | 36 - .../testlib/selftests/expected_junit.junitxml | 4 - .../selftests/expected_maxwarnings.junitxml | 2002 ----------------- .../selftests/expected_signaldumper.junitxml | 124 - .../testlib/selftests/expected_skip.junitxml | 1 - .../selftests/expected_strcmp.junitxml | 3 - .../selftests/expected_subtest.junitxml | 31 - .../selftests/expected_verbose1.junitxml | 2 - .../selftests/expected_verbose2.junitxml | 20 - .../selftests/expected_warnings.junitxml | 17 - 19 files changed, 29 insertions(+), 2369 deletions(-) diff --git a/src/testlib/qjunittestlogger.cpp b/src/testlib/qjunittestlogger.cpp index f8000b4302..4b5de7b7c0 100644 --- a/src/testlib/qjunittestlogger.cpp +++ b/src/testlib/qjunittestlogger.cpp @@ -270,9 +270,9 @@ void QJUnitTestLogger::addFailure(QTest::LogElementType elementType, 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); + auto textNode = new QTestElement(QTest::LET_Text); + textNode->addAttribute(QTest::AI_Value, details.toUtf8().constData()); + failureElement->addLogElement(textNode); } currentTestCase->addLogElement(failureElement); @@ -294,62 +294,29 @@ void QJUnitTestLogger::addMessage(MessageTypes type, const QString &message, con skippedElement->addAttribute(QTest::AI_Message, message.toUtf8().constData()); currentTestCase->addLogElement(skippedElement); return; - } - - auto systemLogElement = systemOutputElement; - const char *typeBuf = nullptr; - - switch (type) { - case QAbstractTestLogger::Warn: - systemLogElement = systemErrorElement; - typeBuf = "warn"; - break; - case QAbstractTestLogger::QCritical: - systemLogElement = systemErrorElement; - typeBuf = "qcritical"; - break; - case QAbstractTestLogger::QDebug: - typeBuf = "qdebug"; - break; - case QAbstractTestLogger::QInfo: - typeBuf = "qinfo"; - break; - case QAbstractTestLogger::QWarning: - systemLogElement = systemErrorElement; - typeBuf = "qwarn"; - break; - case QAbstractTestLogger::QFatal: - systemLogElement = systemErrorElement; - typeBuf = "qfatal"; - break; - case QAbstractTestLogger::Skip: - Q_UNREACHABLE(); - break; - case QAbstractTestLogger::Info: - typeBuf = "info"; - break; - default: - typeBuf = "??????"; - break; - } - - if (type == QAbstractTestLogger::QFatal) { - addFailure(QTest::LET_Error, typeBuf, message); + } else if (type == QAbstractTestLogger::QFatal) { + addFailure(QTest::LET_Error, "qfatal", message); return; } - auto messageElement = new QTestElement(QTest::LET_Message); - messageElement->addAttribute(QTest::AI_Type, typeBuf); - messageElement->addAttribute(QTest::AI_Message, message.toUtf8().constData()); + auto systemLogElement = [&]() { + switch (type) { + case QAbstractTestLogger::QDebug: + case QAbstractTestLogger::Info: + case QAbstractTestLogger::QInfo: + return systemOutputElement; + case QAbstractTestLogger::Warn: + case QAbstractTestLogger::QWarning: + case QAbstractTestLogger::QCritical: + return systemErrorElement; + default: + Q_UNREACHABLE(); + } + }(); - currentTestCase->addLogElement(messageElement); - - // Also add the message to the system log (stdout/stderr), if one exists - if (systemLogElement) { - auto messageElement = new QTestElement(QTest::LET_Message); - messageElement->addAttribute(QTest::AI_Message, message.toUtf8().constData()); - systemLogElement->addLogElement(messageElement); - } + auto textNode = new QTestElement(QTest::LET_Text); + textNode->addAttribute(QTest::AI_Value, message.toUtf8().constData()); + systemLogElement->addLogElement(textNode); } QT_END_NAMESPACE diff --git a/src/testlib/qtestelementattribute_p.h b/src/testlib/qtestelementattribute_p.h index 6c49bda588..dd7d1c111a 100644 --- a/src/testlib/qtestelementattribute_p.h +++ b/src/testlib/qtestelementattribute_p.h @@ -94,7 +94,7 @@ namespace QTest { LET_TestCase = 4, LET_TestSuite = 5, LET_Benchmark = 6, - LET_Message = 7, + LET_Text = 7, LET_SystemError = 8, LET_SystemOutput = 9, LET_Skipped = 10 diff --git a/src/testlib/qtestjunitstreamer.cpp b/src/testlib/qtestjunitstreamer.cpp index 8176205cbb..d8c73505db 100644 --- a/src/testlib/qtestjunitstreamer.cpp +++ b/src/testlib/qtestjunitstreamer.cpp @@ -82,20 +82,8 @@ void QTestJUnitStreamer::formatStart(const QTestElement *element, QTestCharBuffe char indent[20]; indentForElement(element, indent, sizeof(indent)); - // Messages/errors are written as CDATA within system-out, system-err, - // error, and failure respectively, comments elsewhere - if (element->elementType() == QTest::LET_Message) { - switch (element->parentElement()->elementType()) { - case QTest::LET_SystemOutput: - case QTest::LET_SystemError: - case QTest::LET_Failure: - case QTest::LET_Error: - QTest::qt_asprintf(formatted, "%selementType() == QTest::LET_Text) { + QTest::qt_asprintf(formatted, "%sindex(); - // For messages we only want to output the `message' attribute value - if (element && element->elementType() == QTest::LET_Message - && (element->parentElement()->elementType() == QTest::LET_SystemOutput - || element->parentElement()->elementType() == QTest::LET_SystemError - || element->parentElement()->elementType() == QTest::LET_Failure - || element->parentElement()->elementType() == QTest::LET_Error)) { - - if (attrindex != QTest::AI_Message) return; - + if (element && element->elementType() == QTest::LET_Text) { + QTEST_ASSERT(attrindex == QTest::AI_Value); QXmlTestLogger::xmlCdata(formatted, attribute->value()); return; } @@ -149,20 +130,8 @@ void QTestJUnitStreamer::formatAfterAttributes(const QTestElement *element, QTes if (!element || !formatted ) return; - // Messages are written as CDATA within system-out, system-err, - // error, and failure respectively, comments elsewhere - if (element->elementType() == QTest::LET_Message) { - switch (element->parentElement()->elementType()) { - case QTest::LET_SystemOutput: - case QTest::LET_SystemError: - case QTest::LET_Failure: - case QTest::LET_Error: - QTest::qt_asprintf(formatted, "]]>\n"); - break; - default: - QTest::qt_asprintf(formatted, " -->\n"); - break; - } + if (element->elementType() == QTest::LET_Text) { + QTest::qt_asprintf(formatted, "]]>\n"); return; } diff --git a/tests/auto/testlib/selftests/expected_badxml.junitxml b/tests/auto/testlib/selftests/expected_badxml.junitxml index 9c8b9d4e68..757f3a41c5 100644 --- a/tests/auto/testlib/selftests/expected_badxml.junitxml +++ b/tests/auto/testlib/selftests/expected_badxml.junitxml @@ -7,77 +7,65 @@ - - - - - - - - - text ]]]> more text]]> - - open < tags < text]]> - " mixed ]]]> up > " in < the ]]]> hopes < of triggering "< ]]]> bugs]]> @@ -86,7 +74,6 @@ - diff --git a/tests/auto/testlib/selftests/expected_commandlinedata.junitxml b/tests/auto/testlib/selftests/expected_commandlinedata.junitxml index 4e854fc649..6756adfe0a 100644 --- a/tests/auto/testlib/selftests/expected_commandlinedata.junitxml +++ b/tests/auto/testlib/selftests/expected_commandlinedata.junitxml @@ -7,38 +7,32 @@ - - - - - - diff --git a/tests/auto/testlib/selftests/expected_counting.junitxml b/tests/auto/testlib/selftests/expected_counting.junitxml index 624d969f3d..f4d2104887 100644 --- a/tests/auto/testlib/selftests/expected_counting.junitxml +++ b/tests/auto/testlib/selftests/expected_counting.junitxml @@ -55,7 +55,6 @@ - @@ -69,7 +68,6 @@ - diff --git a/tests/auto/testlib/selftests/expected_expectfail.junitxml b/tests/auto/testlib/selftests/expected_expectfail.junitxml index f14b1bf800..fd4cdb3488 100644 --- a/tests/auto/testlib/selftests/expected_expectfail.junitxml +++ b/tests/auto/testlib/selftests/expected_expectfail.junitxml @@ -7,9 +7,6 @@ - - - @@ -17,8 +14,6 @@ - - @@ -28,8 +23,6 @@ - - @@ -38,13 +31,11 @@ - - @@ -52,26 +43,22 @@ - - - - diff --git a/tests/auto/testlib/selftests/expected_faildatatype.junitxml b/tests/auto/testlib/selftests/expected_faildatatype.junitxml index b370e982b7..72d1a50b62 100644 --- a/tests/auto/testlib/selftests/expected_faildatatype.junitxml +++ b/tests/auto/testlib/selftests/expected_faildatatype.junitxml @@ -7,7 +7,6 @@ - diff --git a/tests/auto/testlib/selftests/expected_findtestdata.junitxml b/tests/auto/testlib/selftests/expected_findtestdata.junitxml index ca20c1aa3a..c3bed92f0a 100644 --- a/tests/auto/testlib/selftests/expected_findtestdata.junitxml +++ b/tests/auto/testlib/selftests/expected_findtestdata.junitxml @@ -7,7 +7,6 @@ - diff --git a/tests/auto/testlib/selftests/expected_globaldata.junitxml b/tests/auto/testlib/selftests/expected_globaldata.junitxml index cbf55d5018..f33bd3441c 100644 --- a/tests/auto/testlib/selftests/expected_globaldata.junitxml +++ b/tests/auto/testlib/selftests/expected_globaldata.junitxml @@ -6,16 +6,11 @@ - - - - - @@ -24,10 +19,6 @@ - - - - @@ -36,10 +27,6 @@ - - - - @@ -48,10 +35,6 @@ - - - - @@ -63,45 +46,34 @@ - - - - - - - - - - - @@ -109,27 +81,20 @@ - - - - - - - @@ -137,7 +102,6 @@ - diff --git a/tests/auto/testlib/selftests/expected_junit.junitxml b/tests/auto/testlib/selftests/expected_junit.junitxml index 43d2bdae89..3565294c6a 100644 --- a/tests/auto/testlib/selftests/expected_junit.junitxml +++ b/tests/auto/testlib/selftests/expected_junit.junitxml @@ -7,13 +7,11 @@ - - @@ -29,13 +27,11 @@ - - diff --git a/tests/auto/testlib/selftests/expected_maxwarnings.junitxml b/tests/auto/testlib/selftests/expected_maxwarnings.junitxml index 739bed3b31..fdb7c60637 100644 --- a/tests/auto/testlib/selftests/expected_maxwarnings.junitxml +++ b/tests/auto/testlib/selftests/expected_maxwarnings.junitxml @@ -7,2008 +7,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/tests/auto/testlib/selftests/expected_signaldumper.junitxml b/tests/auto/testlib/selftests/expected_signaldumper.junitxml index f345ab67a6..7fe6df6a33 100644 --- a/tests/auto/testlib/selftests/expected_signaldumper.junitxml +++ b/tests/auto/testlib/selftests/expected_signaldumper.junitxml @@ -7,20 +7,12 @@ - - - - - - - - @@ -31,12 +23,6 @@ - - - - - - @@ -47,15 +33,6 @@ - - - - - - - - - @@ -69,12 +46,6 @@ - - - - - - @@ -85,12 +56,6 @@ - - - - - - @@ -101,12 +66,6 @@ - - - - - - @@ -117,18 +76,6 @@ - - - - - - - - - - - - @@ -145,12 +92,6 @@ - - - - - - @@ -161,15 +102,6 @@ - - - - - - - - - @@ -183,15 +115,6 @@ - - - - - - - - - @@ -205,18 +128,6 @@ - - - - - - - - - - - - @@ -233,15 +144,6 @@ - - - - - - - - - @@ -255,9 +157,6 @@ - - - @@ -265,9 +164,6 @@ - - - @@ -275,10 +171,6 @@ - - - - @@ -287,9 +179,6 @@ - - - @@ -297,18 +186,6 @@ - - - - - - - - - - - - @@ -325,7 +202,6 @@ - diff --git a/tests/auto/testlib/selftests/expected_skip.junitxml b/tests/auto/testlib/selftests/expected_skip.junitxml index 0fe2e0bad5..f5cb413321 100644 --- a/tests/auto/testlib/selftests/expected_skip.junitxml +++ b/tests/auto/testlib/selftests/expected_skip.junitxml @@ -16,7 +16,6 @@ - diff --git a/tests/auto/testlib/selftests/expected_strcmp.junitxml b/tests/auto/testlib/selftests/expected_strcmp.junitxml index 1ac8a4dd92..a316887748 100644 --- a/tests/auto/testlib/selftests/expected_strcmp.junitxml +++ b/tests/auto/testlib/selftests/expected_strcmp.junitxml @@ -8,9 +8,6 @@ - - - diff --git a/tests/auto/testlib/selftests/expected_subtest.junitxml b/tests/auto/testlib/selftests/expected_subtest.junitxml index 1d77ffc985..72b2c5c6b5 100644 --- a/tests/auto/testlib/selftests/expected_subtest.junitxml +++ b/tests/auto/testlib/selftests/expected_subtest.junitxml @@ -6,15 +6,11 @@ - - - - @@ -22,12 +18,6 @@ - - - - - - @@ -38,10 +28,6 @@ - - - - @@ -50,10 +36,6 @@ - - - - @@ -62,12 +44,6 @@ - - - - - - @@ -78,13 +54,10 @@ - - - @@ -92,13 +65,10 @@ - - - @@ -106,7 +76,6 @@ - diff --git a/tests/auto/testlib/selftests/expected_verbose1.junitxml b/tests/auto/testlib/selftests/expected_verbose1.junitxml index 624d969f3d..f4d2104887 100644 --- a/tests/auto/testlib/selftests/expected_verbose1.junitxml +++ b/tests/auto/testlib/selftests/expected_verbose1.junitxml @@ -55,7 +55,6 @@ - @@ -69,7 +68,6 @@ - diff --git a/tests/auto/testlib/selftests/expected_verbose2.junitxml b/tests/auto/testlib/selftests/expected_verbose2.junitxml index 03460248b6..7c96272020 100644 --- a/tests/auto/testlib/selftests/expected_verbose2.junitxml +++ b/tests/auto/testlib/selftests/expected_verbose2.junitxml @@ -7,24 +7,18 @@ - - - - - - @@ -34,15 +28,12 @@ - - - @@ -52,8 +43,6 @@ - - @@ -69,29 +58,24 @@ - - - - - @@ -101,14 +85,12 @@ - - @@ -121,7 +103,6 @@ - @@ -135,7 +116,6 @@ - diff --git a/tests/auto/testlib/selftests/expected_warnings.junitxml b/tests/auto/testlib/selftests/expected_warnings.junitxml index 69000160b3..691bb32a80 100644 --- a/tests/auto/testlib/selftests/expected_warnings.junitxml +++ b/tests/auto/testlib/selftests/expected_warnings.junitxml @@ -7,16 +7,6 @@ - - - - - - - - - - @@ -33,8 +23,6 @@ - - @@ -42,15 +30,12 @@ - - - @@ -58,8 +43,6 @@ - -