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
Jason McDonald 2011-05-06 16:34:15 +10:00 committed by Rohan McGovern
parent 175bb0eac6
commit e3ee32848d
1 changed files with 10 additions and 1 deletions

View File

@ -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