From 02d130db7ebaa09f671c48ac83dfd5c3a250be16 Mon Sep 17 00:00:00 2001 From: Edward Welbourne Date: Mon, 14 Mar 2022 18:33:59 +0100 Subject: [PATCH] Avoid duplicate descriptions in TAP's incident YAML MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When a B?Fail's description doesn't match the QVERIFY/QCOMPARE regexes, it got output as a comment in the YAML block after the test line had already reported it as a TODO comment. An empty description would also have lead to an empty comment in the YAML block. Condition this fallback output case on there being a description that hasn't yet been reported in the test line. Task-number: QTBUG-96844 Change-Id: Id7fe81d26ddb01da3d8003ada8fa590a5e1a166f Reviewed-by: Mårten Nordheim Reviewed-by: Tor Arne Vestbø --- src/testlib/qtaptestlogger.cpp | 4 ++-- .../auto/testlib/selftests/expected_blacklisted.tap | 13 ------------- 2 files changed, 2 insertions(+), 15 deletions(-) diff --git a/src/testlib/qtaptestlogger.cpp b/src/testlib/qtaptestlogger.cpp index 435cf34bfa..62fde40d64 100644 --- a/src/testlib/qtaptestlogger.cpp +++ b/src/testlib/qtaptestlogger.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2021 The Qt Company Ltd. +** Copyright (C) 2022 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the QtTest module of the Qt Toolkit. @@ -234,7 +234,7 @@ void QTapTestLogger::addIncident(IncidentTypes type, const char *description, outputString(diagnosticsYamlish.data()); } else #endif - { + if (description && !incident) { QTestCharBuffer unparsableDescription; QTest::qt_asprintf(&unparsableDescription, YAML_INDENT "# %s\n", description); outputString(unparsableDescription.data()); diff --git a/tests/auto/testlib/selftests/expected_blacklisted.tap b/tests/auto/testlib/selftests/expected_blacklisted.tap index ad3986537f..947b962f54 100644 --- a/tests/auto/testlib/selftests/expected_blacklisted.tap +++ b/tests/auto/testlib/selftests/expected_blacklisted.tap @@ -35,77 +35,66 @@ ok 6 - multiSkip() # SKIP This skip should be repeated ten times ok 6 - multiSkip() # SKIP But this test should only contribute one to the skip count not ok 7 - multiFail() # TODO This failure message should be repeated ten times --- - # This failure message should be repeated ten times at: tst_Blacklisted::multiFail() (qtbase/tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp:0) file: qtbase/tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp line: 0 ... not ok 7 - multiFail() # TODO This failure message should be repeated ten times --- - # This failure message should be repeated ten times at: tst_Blacklisted::multiFail() (qtbase/tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp:0) file: qtbase/tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp line: 0 ... not ok 7 - multiFail() # TODO This failure message should be repeated ten times --- - # This failure message should be repeated ten times at: tst_Blacklisted::multiFail() (qtbase/tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp:0) file: qtbase/tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp line: 0 ... not ok 7 - multiFail() # TODO This failure message should be repeated ten times --- - # This failure message should be repeated ten times at: tst_Blacklisted::multiFail() (qtbase/tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp:0) file: qtbase/tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp line: 0 ... not ok 7 - multiFail() # TODO This failure message should be repeated ten times --- - # This failure message should be repeated ten times at: tst_Blacklisted::multiFail() (qtbase/tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp:0) file: qtbase/tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp line: 0 ... not ok 7 - multiFail() # TODO This failure message should be repeated ten times --- - # This failure message should be repeated ten times at: tst_Blacklisted::multiFail() (qtbase/tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp:0) file: qtbase/tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp line: 0 ... not ok 7 - multiFail() # TODO This failure message should be repeated ten times --- - # This failure message should be repeated ten times at: tst_Blacklisted::multiFail() (qtbase/tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp:0) file: qtbase/tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp line: 0 ... not ok 7 - multiFail() # TODO This failure message should be repeated ten times --- - # This failure message should be repeated ten times at: tst_Blacklisted::multiFail() (qtbase/tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp:0) file: qtbase/tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp line: 0 ... not ok 7 - multiFail() # TODO This failure message should be repeated ten times --- - # This failure message should be repeated ten times at: tst_Blacklisted::multiFail() (qtbase/tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp:0) file: qtbase/tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp line: 0 ... not ok 7 - multiFail() # TODO This failure message should be repeated ten times --- - # This failure message should be repeated ten times at: tst_Blacklisted::multiFail() (qtbase/tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp:0) file: qtbase/tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp line: 0 ... not ok 7 - multiFail() # TODO But this test should only contribute one to the blacklisted count --- - # But this test should only contribute one to the blacklisted count at: tst_Blacklisted::multiFail() (qtbase/tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp:0) file: qtbase/tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp line: 0 @@ -125,7 +114,6 @@ not ok 9 - xfailContinueFail() # TODO This test should BXFAIL then BFAIL ... not ok 9 - xfailContinueFail() # TODO This fail should be seen and counted as blacklisted --- - # This fail should be seen and counted as blacklisted at: tst_Blacklisted::xfailContinueFail() (qtbase/tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp:0) file: qtbase/tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp line: 0 @@ -136,7 +124,6 @@ ok 11 - xpassContinueSkip() # SKIP This skip should be seen but not counted ok 12 - xpassContinueFail() # TODO 'true' returned TRUE unexpectedly. (This test should BXPASS then BFAIL) not ok 12 - xpassContinueFail() # TODO This fail should be seen and not counted (due to prior XPASS) --- - # This fail should be seen and not counted (due to prior XPASS) at: tst_Blacklisted::xpassContinueFail() (qtbase/tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp:0) file: qtbase/tests/auto/testlib/selftests/blacklisted/tst_blacklisted.cpp line: 0