summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib
diff options
context:
space:
mode:
authorVitaly Fanaskov <vitaly.fanaskov@qt.io>2020-02-26 15:22:40 +0100
committerVitaly Fanaskov <vitaly.fanaskov@qt.io>2020-03-11 14:46:25 +0100
commitc977e74afd18afff8729070f631e6b7a3f2887f5 (patch)
tree08be91368aaee6391e1fcb71f67f90708f7b9e7a /tests/auto/corelib
parent01bacdf7abb071198d843acdfb22ce1701766be8 (diff)
QtConcurrent::run: accept more then five function's arguments
[ChangeLog][Potentially Source-Incompatible Changes] QtConcurrent::run has the following signatures: run(Function &&f, Args &&...args) and run(QThreadPool *pool, Function &&f, Args &&...args). If f is a member pointer, the first argument of args should be an object for which that member is defined (or a reference, or a pointer to it). See the documentation for more details. Fixes: QTBUG-82383 Change-Id: I18f7fcfb2adbdd9f75b29c346bd3516304e32d31 Reviewed-by: MÃ¥rten Nordheim <marten.nordheim@qt.io> Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
Diffstat (limited to 'tests/auto/corelib')
-rw-r--r--tests/auto/corelib/io/qlockfile/tst_qlockfile.cpp14
-rw-r--r--tests/auto/corelib/io/qurl/tst_qurl.cpp2
-rw-r--r--tests/auto/corelib/mimetypes/qmimedatabase/tst_qmimedatabase.cpp16
3 files changed, 16 insertions, 16 deletions
diff --git a/tests/auto/corelib/io/qlockfile/tst_qlockfile.cpp b/tests/auto/corelib/io/qlockfile/tst_qlockfile.cpp
index 4969e417f4..1d79d0dd1f 100644
--- a/tests/auto/corelib/io/qlockfile/tst_qlockfile.cpp
+++ b/tests/auto/corelib/io/qlockfile/tst_qlockfile.cpp
@@ -163,13 +163,13 @@ void tst_QLockFile::lockOutOtherThread()
QVERIFY(lockFile.lock());
// Other thread can't acquire lock
- QFuture<QLockFile::LockError> ret = QtConcurrent::run<QLockFile::LockError>(tryLockFromThread, fileName);
+ auto ret = QtConcurrent::run(tryLockFromThread, fileName);
QCOMPARE(ret.result(), QLockFile::LockFailedError);
lockFile.unlock();
// Now other thread can acquire lock
- QFuture<QLockFile::LockError> ret2 = QtConcurrent::run<QLockFile::LockError>(tryLockFromThread, fileName);
+ auto ret2 = QtConcurrent::run(tryLockFromThread, fileName);
QCOMPARE(ret2.result(), QLockFile::NoError);
}
@@ -186,13 +186,13 @@ static QLockFile::LockError lockFromThread(const QString &fileName)
void tst_QLockFile::raceWithOtherThread()
{
const QString fileName = dir.path() + "/raceWithOtherThread";
- QFuture<QLockFile::LockError> ret = QtConcurrent::run<QLockFile::LockError>(lockFromThread, fileName);
- QFuture<QLockFile::LockError> ret2 = QtConcurrent::run<QLockFile::LockError>(lockFromThread, fileName);
+ auto ret = QtConcurrent::run(lockFromThread, fileName);
+ auto ret2 = QtConcurrent::run(lockFromThread, fileName);
QCOMPARE(ret.result(), QLockFile::NoError);
QCOMPARE(ret2.result(), QLockFile::NoError);
}
-static bool lockFromThread(const QString &fileName, int sleepMs, QSemaphore *semThreadReady, QSemaphore *semMainThreadDone)
+static bool lockFromThreadAndWait(const QString &fileName, int sleepMs, QSemaphore *semThreadReady, QSemaphore *semMainThreadDone)
{
QLockFile lockFile(fileName);
if (!lockFile.lock()) {
@@ -233,7 +233,7 @@ void tst_QLockFile::waitForLock()
QLockFile lockFile(fileName);
QSemaphore semThreadReady, semMainThreadDone;
// Lock file from a thread
- QFuture<bool> ret = QtConcurrent::run<bool>(lockFromThread, fileName, threadSleepMs, &semThreadReady, &semMainThreadDone);
+ auto ret = QtConcurrent::run(lockFromThreadAndWait, fileName, threadSleepMs, &semThreadReady, &semMainThreadDone);
semThreadReady.acquire();
if (releaseEarly) // let the thread release the lock after threadSleepMs
@@ -410,7 +410,7 @@ void tst_QLockFile::staleLockRace()
QThreadPool::globalInstance()->setMaxThreadCount(10);
QFutureSynchronizer<QString> synchronizer;
for (int i = 0; i < 8; ++i)
- synchronizer.addFuture(QtConcurrent::run<QString>(tryStaleLockFromThread, fileName));
+ synchronizer.addFuture(QtConcurrent::run(tryStaleLockFromThread, fileName));
synchronizer.waitForFinished();
foreach (const QFuture<QString> &future, synchronizer.futures())
QVERIFY2(future.result().isEmpty(), qPrintable(future.result()));
diff --git a/tests/auto/corelib/io/qurl/tst_qurl.cpp b/tests/auto/corelib/io/qurl/tst_qurl.cpp
index 8d046d5499..31d1de4234 100644
--- a/tests/auto/corelib/io/qurl/tst_qurl.cpp
+++ b/tests/auto/corelib/io/qurl/tst_qurl.cpp
@@ -4067,7 +4067,7 @@ void tst_QUrl::testThreading()
QThreadPool::globalInstance()->setMaxThreadCount(100);
QFutureSynchronizer<void> sync;
for (int i = 0; i < 100; ++i)
- sync.addFuture(QtConcurrent::run(this, &tst_QUrl::testThreadingHelper));
+ sync.addFuture(QtConcurrent::run(&tst_QUrl::testThreadingHelper, this));
sync.waitForFinished();
delete s_urlStorage;
}
diff --git a/tests/auto/corelib/mimetypes/qmimedatabase/tst_qmimedatabase.cpp b/tests/auto/corelib/mimetypes/qmimedatabase/tst_qmimedatabase.cpp
index 7e3642752e..3c6da506e2 100644
--- a/tests/auto/corelib/mimetypes/qmimedatabase/tst_qmimedatabase.cpp
+++ b/tests/auto/corelib/mimetypes/qmimedatabase/tst_qmimedatabase.cpp
@@ -852,14 +852,14 @@ void tst_QMimeDatabase::fromThreads()
QThreadPool tp;
tp.setMaxThreadCount(20);
// Note that data-based tests cannot be used here (QTest::fetchData asserts).
- QtConcurrent::run(&tp, this, &tst_QMimeDatabase::mimeTypeForName);
- QtConcurrent::run(&tp, this, &tst_QMimeDatabase::aliases);
- QtConcurrent::run(&tp, this, &tst_QMimeDatabase::allMimeTypes);
- QtConcurrent::run(&tp, this, &tst_QMimeDatabase::icons);
- QtConcurrent::run(&tp, this, &tst_QMimeDatabase::inheritance);
- QtConcurrent::run(&tp, this, &tst_QMimeDatabase::knownSuffix);
- QtConcurrent::run(&tp, this, &tst_QMimeDatabase::mimeTypeForFileWithContent);
- QtConcurrent::run(&tp, this, &tst_QMimeDatabase::allMimeTypes); // a second time
+ QtConcurrent::run(&tp, &tst_QMimeDatabase::mimeTypeForName, this);
+ QtConcurrent::run(&tp, &tst_QMimeDatabase::aliases, this);
+ QtConcurrent::run(&tp, &tst_QMimeDatabase::allMimeTypes, this);
+ QtConcurrent::run(&tp, &tst_QMimeDatabase::icons, this);
+ QtConcurrent::run(&tp, &tst_QMimeDatabase::inheritance, this);
+ QtConcurrent::run(&tp, &tst_QMimeDatabase::knownSuffix, this);
+ QtConcurrent::run(&tp, &tst_QMimeDatabase::mimeTypeForFileWithContent, this);
+ QtConcurrent::run(&tp, &tst_QMimeDatabase::allMimeTypes, this); // a second time
QVERIFY(tp.waitForDone(60000));
}