diff options
author | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2018-02-07 18:37:22 +0100 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@qt.io> | 2018-02-15 16:24:38 +0000 |
commit | 5e98873cd3408d3900903efd926c36158941d67e (patch) | |
tree | e919f5b445b66d6264af0fc83e4052e24649b33d | |
parent | dc334b60d9b187edf2ab579c535a6d5358eeb414 (diff) |
Fix of flaky qFutureAssignmentLeak test
Switch to QTRY_COMPARE since thread-local references might be held shortly
after finished is signalled.
Change-Id: Ia32f1f45f6cc461352558e0f2acf9612f8a4639e
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
-rw-r--r-- | tests/auto/concurrent/qtconcurrentmap/BLACKLIST | 3 | ||||
-rw-r--r-- | tests/auto/concurrent/qtconcurrentmap/tst_qtconcurrentmap.cpp | 7 |
2 files changed, 5 insertions, 5 deletions
diff --git a/tests/auto/concurrent/qtconcurrentmap/BLACKLIST b/tests/auto/concurrent/qtconcurrentmap/BLACKLIST deleted file mode 100644 index 0320f61fab..0000000000 --- a/tests/auto/concurrent/qtconcurrentmap/BLACKLIST +++ /dev/null @@ -1,3 +0,0 @@ -[qFutureAssignmentLeak] -ci opensuse -ci ubuntu-16.04 diff --git a/tests/auto/concurrent/qtconcurrentmap/tst_qtconcurrentmap.cpp b/tests/auto/concurrent/qtconcurrentmap/tst_qtconcurrentmap.cpp index 2d7c0c2f64..f539f012df 100644 --- a/tests/auto/concurrent/qtconcurrentmap/tst_qtconcurrentmap.cpp +++ b/tests/auto/concurrent/qtconcurrentmap/tst_qtconcurrentmap.cpp @@ -2402,9 +2402,12 @@ void tst_QtConcurrentMap::qFutureAssignmentLeak() future.waitForFinished(); } - QCOMPARE(currentInstanceCount.load(), 1000); + // Use QTRY_COMPARE because QtConcurrent::ThreadEngine::asynchronousFinish() + // deletes its internals after signaling finished, so it might still be holding + // on to copies of InstanceCounter for a short while. + QTRY_COMPARE(currentInstanceCount.load(), 1000); future = QFuture<InstanceCounter>(); - QCOMPARE(currentInstanceCount.load(), 0); + QTRY_COMPARE(currentInstanceCount.load(), 0); } inline void increment(int &num) |