diff options
-rw-r--r-- | src/testlib/qtesteventloop.h | 10 | ||||
-rw-r--r-- | src/testlib/qtestresult.cpp | 2 |
2 files changed, 8 insertions, 4 deletions
diff --git a/src/testlib/qtesteventloop.h b/src/testlib/qtesteventloop.h index d576de4267..10bb4f3f96 100644 --- a/src/testlib/qtesteventloop.h +++ b/src/testlib/qtesteventloop.h @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2016 The Qt Company Ltd. +** Copyright (C) 2021 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the QtTest module of the Qt Toolkit. @@ -41,6 +41,7 @@ #define QTESTEVENTLOOP_H #include <QtTest/qttestglobal.h> +#include <QtTest/qtestcase.h> #include <QtCore/qcoreapplication.h> #include <QtCore/qeventloop.h> @@ -93,11 +94,12 @@ private: inline void QTestEventLoop::enterLoopMSecs(int ms) { Q_ASSERT(!loop); - - QEventLoop l; - _timeout = false; + if (QTest::currentTestFailed()) + return; + + QEventLoop l; timerId = startTimer(ms); loop = &l; diff --git a/src/testlib/qtestresult.cpp b/src/testlib/qtestresult.cpp index 7498b92024..581e8bc33b 100644 --- a/src/testlib/qtestresult.cpp +++ b/src/testlib/qtestresult.cpp @@ -46,6 +46,7 @@ #include <QtTest/qtestdata.h> #include <QtTest/qtestcase.h> #include <QtTest/qtestassert.h> +#include <QtTest/qtesteventloop.h> #include <stdlib.h> #include <stdio.h> @@ -464,6 +465,7 @@ bool QTestResult::compare(bool success, const char *failureMsg, void QTestResult::addFailure(const char *message, const char *file, int line) { clearExpectFail(); + QTestEventLoop::instance().exitLoop(); if (QTest::blacklistCurrentTest) QTestLog::addBFail(message, file, line); |