summaryrefslogtreecommitdiffstats
path: root/src/testlib
diff options
context:
space:
mode:
Diffstat (limited to 'src/testlib')
-rw-r--r--src/testlib/qtestcase.cpp2
-rw-r--r--src/testlib/qtestcase.h2
-rw-r--r--src/testlib/qtestsystem.h36
3 files changed, 22 insertions, 18 deletions
diff --git a/src/testlib/qtestcase.cpp b/src/testlib/qtestcase.cpp
index 7485941c0f..19d135e15f 100644
--- a/src/testlib/qtestcase.cpp
+++ b/src/testlib/qtestcase.cpp
@@ -1953,6 +1953,7 @@ static inline bool isWindowsBuildDirectory(const QString &dirName)
}
#endif
+#if QT_CONFIG(temporaryfile)
/*!
Extracts a directory from resources to disk. The content is extracted
recursively to a temporary folder. The extracted content is removed
@@ -2013,6 +2014,7 @@ QSharedPointer<QTemporaryDir> QTest::qExtractTestData(const QString &dirName)
return result;
}
+#endif // QT_CONFIG(temporaryfile)
/*! \internal
*/
diff --git a/src/testlib/qtestcase.h b/src/testlib/qtestcase.h
index 66f2b7c3c2..26d8ff2766 100644
--- a/src/testlib/qtestcase.h
+++ b/src/testlib/qtestcase.h
@@ -283,7 +283,9 @@ namespace QTest
Q_TESTLIB_EXPORT void ignoreMessage(QtMsgType type, const QRegularExpression &messagePattern);
#endif
+#if QT_CONFIG(temporaryfile)
Q_TESTLIB_EXPORT QSharedPointer<QTemporaryDir> qExtractTestData(const QString &dirName);
+#endif
Q_TESTLIB_EXPORT QString qFindTestData(const char* basepath, const char* file = Q_NULLPTR, int line = 0, const char* builddir = Q_NULLPTR);
Q_TESTLIB_EXPORT QString qFindTestData(const QString& basepath, const char* file = Q_NULLPTR, int line = 0, const char* builddir = Q_NULLPTR);
diff --git a/src/testlib/qtestsystem.h b/src/testlib/qtestsystem.h
index 98daa0392e..b39fa17a34 100644
--- a/src/testlib/qtestsystem.h
+++ b/src/testlib/qtestsystem.h
@@ -42,7 +42,7 @@
#include <QtTest/qtestcase.h>
#include <QtCore/qcoreapplication.h>
-#include <QtCore/qelapsedtimer.h>
+#include <QtCore/qdeadlinetimer.h>
#ifdef QT_GUI_LIB
# include <QtGui/QWindow>
#endif
@@ -58,27 +58,29 @@ namespace QTest
{
Q_ASSERT(QCoreApplication::instance());
- QElapsedTimer timer;
- timer.start();
+ QDeadlineTimer timer(ms);
+ int remaining = ms;
do {
- QCoreApplication::processEvents(QEventLoop::AllEvents, ms);
+ QCoreApplication::processEvents(QEventLoop::AllEvents, remaining);
QCoreApplication::sendPostedEvents(Q_NULLPTR, QEvent::DeferredDelete);
- QTest::qSleep(10);
- } while (timer.elapsed() < ms);
+ remaining = timer.remainingTime();
+ if (remaining <= 0)
+ break;
+ QTest::qSleep(qMin(10, remaining));
+ remaining = timer.remainingTime();
+ } while (remaining > 0);
}
#ifdef QT_GUI_LIB
inline static bool qWaitForWindowActive(QWindow *window, int timeout = 5000)
{
- QElapsedTimer timer;
- timer.start();
- while (!window->isActive()) {
- int remaining = timeout - int(timer.elapsed());
- if (remaining <= 0)
- break;
+ QDeadlineTimer timer(timeout);
+ int remaining = timeout;
+ while (!window->isActive() && remaining > 0) {
QCoreApplication::processEvents(QEventLoop::AllEvents, remaining);
QCoreApplication::sendPostedEvents(Q_NULLPTR, QEvent::DeferredDelete);
QTest::qSleep(10);
+ remaining = timer.remainingTime();
}
// Try ensuring the platform window receives the real position.
// (i.e. that window->pos() reflects reality)
@@ -99,15 +101,13 @@ namespace QTest
inline static bool qWaitForWindowExposed(QWindow *window, int timeout = 5000)
{
- QElapsedTimer timer;
- timer.start();
- while (!window->isExposed()) {
- int remaining = timeout - int(timer.elapsed());
- if (remaining <= 0)
- break;
+ QDeadlineTimer timer(timeout);
+ int remaining = timeout;
+ while (!window->isExposed() && remaining > 0) {
QCoreApplication::processEvents(QEventLoop::AllEvents, remaining);
QCoreApplication::sendPostedEvents(Q_NULLPTR, QEvent::DeferredDelete);
QTest::qSleep(10);
+ remaining = timer.remainingTime();
}
return window->isExposed();
}