diff options
author | Marc Mutz <marc.mutz@kdab.com> | 2012-07-11 10:41:59 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-07-13 01:51:33 +0200 |
commit | ea6946318f9ed7162b36d88f4a1c8acaa68679ae (patch) | |
tree | 8d950753b2e26ed3e6a7f0ae0bef5fcd344b6fc8 /tests/auto/corelib/mimetypes/qmimedatabase | |
parent | c4cef6fae9f2a55f21fc9517855dfcf659c89081 (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/mimetypes/qmimedatabase')
-rw-r--r-- | tests/auto/corelib/mimetypes/qmimedatabase/tst_qmimedatabase.cpp | 23 |
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? |