From ea6946318f9ed7162b36d88f4a1c8acaa68679ae Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Wed, 11 Jul 2012 10:41:59 +0200 Subject: tst_QMimeDatabase: use QFutureSynchronizer Replace a list of QFutures and a loop that calls waitForFinished() on each of them with a QFutureSynchronizer, which does exactly that. Change-Id: I1f2e90169a5b2949bd8cb9d1009a5a7af1500139 Reviewed-by: David Faure --- .../mimetypes/qmimedatabase/tst_qmimedatabase.cpp | 23 +++++++++++----------- 1 file changed, 11 insertions(+), 12 deletions(-) (limited to 'tests/auto/corelib') 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 #include #include +#include #include -#include #include @@ -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 > 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 f, futures) - f.waitForFinished(); + QFutureSynchronizer 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? -- cgit v1.2.3