From 52eae99b51c040b89db3b99d7731b82763fd11e7 Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Wed, 8 Nov 2023 13:03:44 +0100 Subject: [PATCH] QtConcurrent::run() test: Add tests taking static function Change-Id: I75d862a756d0543d8925459b3871abb979ffd481 Reviewed-by: Eike Ziller Reviewed-by: Qt CI Bot --- .../qtconcurrentrun/tst_qtconcurrentrun.cpp | 41 +++++++++++++++++-- 1 file changed, 37 insertions(+), 4 deletions(-) diff --git a/tests/auto/concurrent/qtconcurrentrun/tst_qtconcurrentrun.cpp b/tests/auto/concurrent/qtconcurrentrun/tst_qtconcurrentrun.cpp index 8006a3c00d5..5e24442439f 100644 --- a/tests/auto/concurrent/qtconcurrentrun/tst_qtconcurrentrun.cpp +++ b/tests/auto/concurrent/qtconcurrentrun/tst_qtconcurrentrun.cpp @@ -1089,12 +1089,25 @@ void report3(QPromise &promise) promise.addResult(1); } +static void staticReport3(QPromise &promise) +{ + promise.addResult(0); + promise.addResult(2); + promise.addResult(1); +} + void reportN(QPromise &promise, int n) { for (int i = 0; i < n; ++i) promise.addResult(0); } +static void staticReportN(QPromise &promise, int n) +{ + for (int i = 0; i < n; ++i) + promise.addResult(0); +} + void reportString1(QPromise &promise, const QString &s) { promise.addResult(s); @@ -1168,11 +1181,21 @@ void tst_QtConcurrentRun::withPromise() QCOMPARE(run(report3).results(), QList({0, 2, 1})); - QCOMPARE(run(reportN, 4).results(), - QList({0, 0, 0, 0})); + QCOMPARE(run(&staticReport3).results(), + QList({0, 2, 1})); + QCOMPARE(run(staticReport3).results(), + QList({0, 2, 1})); + + QCOMPARE(run(&reportN, 2).results(), + QList({0, 0})); QCOMPARE(run(reportN, 2).results(), QList({0, 0})); + QCOMPARE(run(&staticReportN, 2).results(), + QList({0, 0})); + QCOMPARE(run(staticReportN, 2).results(), + QList({0, 0})); + QString s = QLatin1String("string"); const QString &crs = QLatin1String("cr string"); const QString cs = QLatin1String("c string"); @@ -1259,11 +1282,21 @@ void tst_QtConcurrentRun::withPromiseInThreadPool() QCOMPARE(run(pool.data(), report3).results(), QList({0, 2, 1})); - QCOMPARE(run(pool.data(), reportN, 4).results(), - QList({0, 0, 0, 0})); + QCOMPARE(run(pool.data(), &staticReport3).results(), + QList({0, 2, 1})); + QCOMPARE(run(pool.data(), staticReport3).results(), + QList({0, 2, 1})); + + QCOMPARE(run(pool.data(), &reportN, 2).results(), + QList({0, 0})); QCOMPARE(run(pool.data(), reportN, 2).results(), QList({0, 0})); + QCOMPARE(run(pool.data(), &staticReportN, 2).results(), + QList({0, 0})); + QCOMPARE(run(pool.data(), staticReportN, 2).results(), + QList({0, 0})); + QString s = QLatin1String("string"); const QString &crs = QLatin1String("cr string"); const QString cs = QLatin1String("c string");