summaryrefslogtreecommitdiffstats
path: root/tests/auto/testlib/selftests/failcleanuptestcase
diff options
context:
space:
mode:
authorEdward Welbourne <edward.welbourne@qt.io>2022-07-11 14:27:28 +0200
committerEdward Welbourne <edward.welbourne@qt.io>2022-07-25 19:29:07 +0200
commit21e9c223b753ade33c994c1efabbd67978eda3bf (patch)
treedeb3f79829a12f43b4f52111fd37139aa5f0479d /tests/auto/testlib/selftests/failcleanuptestcase
parentafbae9c2acf8d5c0846a87f03edfb9407672e9ee (diff)
Test skip and fail in cleanup() as well as in cleanupTestCase()
The skipcleanup and failcleanup tests were actually testing skip and fail in cleanupTestCase(), not in cleanup(). Add almost-duplicate tests and clean up so that we now have {fail,skip}cleanup(,testcase} tests to cover all four cases. Generated expected output. The new tests (with old names) get their fail or skip - during cleanup() - reported against the test instead of the cleanupTestCase function. (Results for {init,cleanup}TestCase() are always reported, even when these slots are not defined, as no-op passes.) Pick-to: 6.4 Change-Id: I0988d1696b50c0e2f30c45ddc25e1bd0bfd2151a Reviewed-by: Ivan Solovev <ivan.solovev@qt.io> Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Diffstat (limited to 'tests/auto/testlib/selftests/failcleanuptestcase')
-rw-r--r--tests/auto/testlib/selftests/failcleanuptestcase/CMakeLists.txt17
-rw-r--r--tests/auto/testlib/selftests/failcleanuptestcase/tst_failcleanuptestcase.cpp25
2 files changed, 42 insertions, 0 deletions
diff --git a/tests/auto/testlib/selftests/failcleanuptestcase/CMakeLists.txt b/tests/auto/testlib/selftests/failcleanuptestcase/CMakeLists.txt
new file mode 100644
index 0000000000..173d9c46c3
--- /dev/null
+++ b/tests/auto/testlib/selftests/failcleanuptestcase/CMakeLists.txt
@@ -0,0 +1,17 @@
+#####################################################################
+## failcleanuptestcase Binary:
+#####################################################################
+
+qt_internal_add_executable(failcleanuptestcase
+ NO_INSTALL
+ OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+ SOURCES
+ tst_failcleanuptestcase.cpp
+ PUBLIC_LIBRARIES
+ Qt::Test
+)
+
+## Scopes:
+#####################################################################
+
+qt_internal_apply_testlib_coverage_options(failcleanuptestcase)
diff --git a/tests/auto/testlib/selftests/failcleanuptestcase/tst_failcleanuptestcase.cpp b/tests/auto/testlib/selftests/failcleanuptestcase/tst_failcleanuptestcase.cpp
new file mode 100644
index 0000000000..0375122565
--- /dev/null
+++ b/tests/auto/testlib/selftests/failcleanuptestcase/tst_failcleanuptestcase.cpp
@@ -0,0 +1,25 @@
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
+
+#include <QTest>
+
+class tst_FailCleanupTestCase: public QObject
+{
+Q_OBJECT
+private slots:
+ void aTestFunction() const;
+ void cleanupTestCase() const;
+};
+
+void tst_FailCleanupTestCase::aTestFunction() const
+{
+ QVERIFY(true);
+}
+
+void tst_FailCleanupTestCase::cleanupTestCase() const
+{
+ QVERIFY2(false, "Fail inside cleanupTestCase");
+}
+
+QTEST_APPLESS_MAIN(tst_FailCleanupTestCase)
+#include "tst_failcleanuptestcase.moc"