summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib
diff options
context:
space:
mode:
authorMarc Mutz <marc.mutz@kdab.com>2012-07-11 10:41:59 +0200
committerQt by Nokia <qt-info@nokia.com>2012-07-13 01:51:33 +0200
commitea6946318f9ed7162b36d88f4a1c8acaa68679ae (patch)
tree8d950753b2e26ed3e6a7f0ae0bef5fcd344b6fc8 /tests/auto/corelib
parentc4cef6fae9f2a55f21fc9517855dfcf659c89081 (diff)
tst_QMimeDatabase: use QFutureSynchronizer
Replace a list of QFuture<void>s and a loop that calls waitForFinished() on each of them with a QFutureSynchronizer<void>, which does exactly that. Change-Id: I1f2e90169a5b2949bd8cb9d1009a5a7af1500139 Reviewed-by: David Faure <faure@kde.org>
Diffstat (limited to 'tests/auto/corelib')
-rw-r--r--tests/auto/corelib/mimetypes/qmimedatabase/tst_qmimedatabase.cpp23
1 files changed, 11 insertions, 12 deletions
diff --git a/tests/auto/corelib/mimetypes/qmimedatabase/tst_qmimedatabase.cpp b/tests/auto/corelib/mimetypes/qmimedatabase/tst_qmimedatabase.cpp
index d00de7861b..88fd2514b0 100644
--- a/tests/auto/corelib/mimetypes/qmimedatabase/tst_qmimedatabase.cpp
+++ b/tests/auto/corelib/mimetypes/qmimedatabase/tst_qmimedatabase.cpp
@@ -46,8 +46,8 @@
#include <QtCore/QFile>
#include <QtCore/QFileInfo>
#include <QtCore/QTextStream>
+#include <QFutureSynchronizer>
#include <QtConcurrent/QtConcurrentRun>
-#include <QtConcurrent/QFuture>
#include <QtTest/QtTest>
@@ -752,17 +752,16 @@ void tst_QMimeDatabase::fromThreads()
{
QThreadPool::globalInstance()->setMaxThreadCount(20);
// Note that data-based tests cannot be used here (QTest::fetchData asserts).
- QList<QFuture<void> > futures;
- futures << QtConcurrent::run(this, &tst_QMimeDatabase::mimeTypeForName);
- futures << QtConcurrent::run(this, &tst_QMimeDatabase::aliases);
- futures << QtConcurrent::run(this, &tst_QMimeDatabase::allMimeTypes);
- futures << QtConcurrent::run(this, &tst_QMimeDatabase::icons);
- futures << QtConcurrent::run(this, &tst_QMimeDatabase::inheritance);
- futures << QtConcurrent::run(this, &tst_QMimeDatabase::knownSuffix);
- futures << QtConcurrent::run(this, &tst_QMimeDatabase::mimeTypeForFileWithContent);
- futures << QtConcurrent::run(this, &tst_QMimeDatabase::allMimeTypes); // a second time
- Q_FOREACH (QFuture<void> f, futures)
- f.waitForFinished();
+ QFutureSynchronizer<void> sync;
+ sync.addFuture(QtConcurrent::run(this, &tst_QMimeDatabase::mimeTypeForName));
+ sync.addFuture(QtConcurrent::run(this, &tst_QMimeDatabase::aliases));
+ sync.addFuture(QtConcurrent::run(this, &tst_QMimeDatabase::allMimeTypes));
+ sync.addFuture(QtConcurrent::run(this, &tst_QMimeDatabase::icons));
+ sync.addFuture(QtConcurrent::run(this, &tst_QMimeDatabase::inheritance));
+ sync.addFuture(QtConcurrent::run(this, &tst_QMimeDatabase::knownSuffix));
+ sync.addFuture(QtConcurrent::run(this, &tst_QMimeDatabase::mimeTypeForFileWithContent));
+ sync.addFuture(QtConcurrent::run(this, &tst_QMimeDatabase::allMimeTypes)); // a second time
+ // sync dtor blocks waiting for finished
}
static bool runUpdateMimeDatabase(const QString &path) // TODO make it a QMimeDatabase method?