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 17:02:38 +0000
commit4f286cb793ab2423476953699eba02441e06fcd7 (patch)
tree54fdccff99a6e2c95d26b229df3cd9f9301d8114 /tests
parentc0ff1786dba467f6709f4a0c27db6c920213d6ae (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> (cherry picked from commit 8087ea67b1457db5da5a641628a11a84a3a119f2) Reviewed-by: Thiago Macieira <thiago.macieira@intel.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 f4f482027d..3396e268a2 100644
--- a/tests/auto/corelib/thread/qthreadpool/tst_qthreadpool.cpp
+++ b/tests/auto/corelib/thread/qthreadpool/tst_qthreadpool.cpp
@@ -985,12 +985,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;
@@ -1013,7 +1017,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()