Remove Q_ASSERT from QMetaType autotest
Replace Q_ASSERT in helper class with code to count failures and report meaningful warnings. The test function then fails the test if any failures were recorded. Change-Id: I0d6650e6036c8e45729c16d1dbb7543b4fb42553 Task-number: QTBUG-17582 Reviewed-by: Rohan McGovern (cherry picked from commit 8512dc16553ecf511c40a2ba7a815f777d7d5c59)bb10
parent
175bb0eac6
commit
e3ee32848d
|
|
@ -96,10 +96,18 @@ struct Bar
|
|||
Bar()
|
||||
{
|
||||
// check re-entrancy
|
||||
Q_ASSERT(QMetaType::isRegistered(qRegisterMetaType<Foo>("Foo")));
|
||||
if (!QMetaType::isRegistered(qRegisterMetaType<Foo>("Foo"))) {
|
||||
qWarning("%s: re-entrancy test failed", Q_FUNC_INFO);
|
||||
++failureCount;
|
||||
}
|
||||
}
|
||||
|
||||
public:
|
||||
static int failureCount;
|
||||
};
|
||||
|
||||
int Bar::failureCount = 0;
|
||||
|
||||
class MetaTypeTorturer: public QThread
|
||||
{
|
||||
Q_OBJECT
|
||||
|
|
@ -161,6 +169,7 @@ void tst_QMetaType::threadSafety()
|
|||
QCOMPARE(t1.failureCount, 0);
|
||||
QCOMPARE(t2.failureCount, 0);
|
||||
QCOMPARE(t3.failureCount, 0);
|
||||
QCOMPARE(Bar::failureCount, 0);
|
||||
}
|
||||
|
||||
namespace TestSpace
|
||||
|
|
|
|||
Loading…
Reference in New Issue