Use a scope-guard to take care of process deletion in a test
Doing the deletion at the end of the block only works if the test passes. Drive-by: remove spurious braces from single-line bodies of single-line controls. The QTest macros are done properly. Pick-to: 6.2 6.1 5.15 Change-Id: I83002547dba49ab9792f4db44d73151b1c036900 Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>bb10
parent
2684deaf26
commit
4ccbd751f1
|
|
@ -1,6 +1,6 @@
|
|||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2020 The Qt Company Ltd.
|
||||
** Copyright (C) 2021 The Qt Company Ltd.
|
||||
** Copyright (C) 2020 Intel Corporation.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
|
|
@ -40,6 +40,7 @@
|
|||
#include <QtCore/QRegularExpression>
|
||||
#include <QtCore/QDebug>
|
||||
#include <QtCore/QMetaType>
|
||||
#include <QtCore/QScopeGuard>
|
||||
#include <QtNetwork/QHostInfo>
|
||||
|
||||
#include <qplatformdefs.h>
|
||||
|
|
@ -1243,17 +1244,15 @@ void tst_QProcess::processesInMultipleThreads()
|
|||
threadCount = qMax(threadCount, QThread::idealThreadCount() + 2);
|
||||
|
||||
QList<TestThread *> threads(threadCount);
|
||||
QScopeGuard cleanup([&threads]() { qDeleteAll(threads); });
|
||||
for (int j = 0; j < threadCount; ++j)
|
||||
threads[j] = new TestThread;
|
||||
for (int j = 0; j < threadCount; ++j)
|
||||
threads[j]->start();
|
||||
for (int j = 0; j < threadCount; ++j) {
|
||||
for (int j = 0; j < threadCount; ++j)
|
||||
QVERIFY(threads[j]->wait(10000));
|
||||
}
|
||||
for (int j = 0; j < threadCount; ++j) {
|
||||
for (int j = 0; j < threadCount; ++j)
|
||||
QCOMPARE(threads[j]->code(), 0);
|
||||
}
|
||||
qDeleteAll(threads);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue