summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorMarc Mutz <marc.mutz@kdab.com>2017-02-10 10:06:59 +0100
committerMarc Mutz <marc.mutz@kdab.com>2017-02-15 11:25:30 +0000
commit8087ea67b1457db5da5a641628a11a84a3a119f2 (patch)
tree1275579369289c11d63d6f345084faa345457648 /tests
parentdcf74bdec83ba450b2016081339f48ac7469e1f5 (diff)
tst_QThreadPool: simplify cancel()
Instead of allocating a statically-sized array on the heap, use an automatic C array instead. Replace some magic numbers with named constants. Change-Id: I17d29a76a67c4a413453ac26a5dee8cd54a8a37d Reviewed-by: David Faure <david.faure@kdab.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/corelib/thread/qthreadpool/tst_qthreadpool.cpp13
1 files changed, 8 insertions, 5 deletions
diff --git a/tests/auto/corelib/thread/qthreadpool/tst_qthreadpool.cpp b/tests/auto/corelib/thread/qthreadpool/tst_qthreadpool.cpp
index 49e1177e79..dede0be170 100644
--- a/tests/auto/corelib/thread/qthreadpool/tst_qthreadpool.cpp
+++ b/tests/auto/corelib/thread/qthreadpool/tst_qthreadpool.cpp
@@ -981,12 +981,16 @@ void tst_QThreadPool::cancel()
count.ref();
}
};
- typedef BlockingRunnable* BlockingRunnablePtr;
+
+ enum {
+ MaxThreadCount = 3,
+ OverProvisioning = 2,
+ runs = MaxThreadCount * OverProvisioning
+ };
QThreadPool threadPool;
- threadPool.setMaxThreadCount(3);
- int runs = 2 * threadPool.maxThreadCount();
- BlockingRunnablePtr* runnables = new BlockingRunnablePtr[runs];
+ threadPool.setMaxThreadCount(MaxThreadCount);
+ BlockingRunnable *runnables[runs];
count.store(0);
QAtomicInt dtorCounter = 0;
QAtomicInt runCounter = 0;
@@ -1009,7 +1013,6 @@ void tst_QThreadPool::cancel()
QCOMPARE(dtorCounter.load(), runs - 2);
delete runnables[0]; //if the pool deletes them then we'll get double-free crash
delete runnables[runs-1];
- delete[] runnables;
}
void tst_QThreadPool::destroyingWaitsForTasksToFinish()