From 48e2e7c9bcd24cc010a6af0a455f8793ea863d40 Mon Sep 17 00:00:00 2001 From: David Faure Date: Tue, 1 Aug 2017 09:56:00 +0200 Subject: autotests: fix the failures I got here. 1) some of them can't run in parallel 2) kconfigskeletontest failed due to KSharedConfig being used under the scene (for a year now), and there's probably some QPA or widget style holding a ref (here, not in the CI). Indirectly, simply setting QStandardPaths::setTestModeEnabled(true) fixes this since KSharedConfig will then not share the instance with the non-test-mode-enabled instance. --- autotests/CMakeLists.txt | 5 +++++ autotests/kconfigskeletontest.cpp | 5 +++++ autotests/kconfigskeletontest.h | 1 + 3 files changed, 11 insertions(+) diff --git a/autotests/CMakeLists.txt b/autotests/CMakeLists.txt index c1ae1de0..a07636d5 100644 --- a/autotests/CMakeLists.txt +++ b/autotests/CMakeLists.txt @@ -61,5 +61,10 @@ ecm_add_tests( LINK_LIBRARIES KF5::ConfigGui Qt5::Test ) +# These tests do a global cleanup of ~/.qttest, so they can't run in parallel +set_tests_properties(kconfigcore-kconfigtest PROPERTIES RUN_SERIAL TRUE) +set_tests_properties(kconfigcore-kconfignokdehometest PROPERTIES RUN_SERIAL TRUE) +set_tests_properties(kconfiggui-kconfigguitest PROPERTIES RUN_SERIAL TRUE) + add_subdirectory(kconfig_compiler) diff --git a/autotests/kconfigskeletontest.cpp b/autotests/kconfigskeletontest.cpp index 898366c0..0036a7e4 100644 --- a/autotests/kconfigskeletontest.cpp +++ b/autotests/kconfigskeletontest.cpp @@ -35,6 +35,11 @@ QTEST_MAIN(KConfigSkeletonTest) #define WRITE_SETTING3 QFont("helvetica",14) #define WRITE_SETTING4 QString("KDE") +void KConfigSkeletonTest::initTestCase() +{ + QStandardPaths::setTestModeEnabled(true); +} + void KConfigSkeletonTest::init() { QFile::remove(QStandardPaths::writableLocation(QStandardPaths::GenericConfigLocation) + "/kconfigskeletontestrc"); diff --git a/autotests/kconfigskeletontest.h b/autotests/kconfigskeletontest.h index 5cdcc9d3..a5c63c9c 100644 --- a/autotests/kconfigskeletontest.h +++ b/autotests/kconfigskeletontest.h @@ -27,6 +27,7 @@ class KConfigSkeletonTest : public QObject public: private Q_SLOTS: + void initTestCase(); void init(); void cleanup(); void testSimple(); -- cgit v1.2.1