From: Marc Mutz Date: Wed, 11 Jul 2012 08:41:59 +0000 (+0200) Subject: tst_QMimeDatabase: use QFutureSynchronizer X-Git-Tag: v5.0.0-beta1~829 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ea6946318f9ed7162b36d88f4a1c8acaa68679ae;p=profile%2Fivi%2Fqtbase.git 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 --- diff --git a/tests/auto/corelib/mimetypes/qmimedatabase/tst_qmimedatabase.cpp b/tests/auto/corelib/mimetypes/qmimedatabase/tst_qmimedatabase.cpp index d00de78..88fd251 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?