diff options
author | Jason McDonald <jason.mcdonald@nokia.com> | 2011-05-03 11:48:40 +1000 |
---|---|---|
committer | Rohan McGovern <rohan.mcgovern@nokia.com> | 2011-05-18 10:46:42 +1000 |
commit | d0d393d86f3cc0300fe6329733b409e713263cb3 (patch) | |
tree | 69483e15f2f73d798d4ad12c1fa2f051bff7240d | |
parent | 4bf7ac3968ea6d3aa3f438fe0bd2a53ac7e357b7 (diff) |
Remove Q_ASSERT's from QMetaType autotest.
Instead of asserting in debug mode and doing nothing in release mode,
put specific warnings in the test output and fail the test gracefully.
Change-Id: I453a0ab7ddef5b2acf55f77f71a59a940d93ae54
Task-number: QTBUG-17582
Reviewed-by: Rohan McGovern
(cherry picked from commit a3b2fa3f1beffa7709c11522d4e2db9ec8f952e0)
-rw-r--r-- | tests/auto/qmetatype/tst_qmetatype.cpp | 32 |
1 files changed, 27 insertions, 5 deletions
diff --git a/tests/auto/qmetatype/tst_qmetatype.cpp b/tests/auto/qmetatype/tst_qmetatype.cpp index 67bbac217a..fcb949fbeb 100644 --- a/tests/auto/qmetatype/tst_qmetatype.cpp +++ b/tests/auto/qmetatype/tst_qmetatype.cpp @@ -113,17 +113,35 @@ protected: #ifdef Q_OS_LINUX pthread_yield(); #endif - Q_ASSERT(QMetaType::isRegistered(tp)); - Q_ASSERT(QMetaType::type(nm) == tp); - Q_ASSERT(QMetaType::typeName(tp) == name); + if (!QMetaType::isRegistered(tp)) { + ++failureCount; + qWarning() << name << "is not a registered metatype"; + } + if (QMetaType::type(nm) != tp) { + ++failureCount; + qWarning() << "Wrong metatype returned for" << name; + } + if (QMetaType::typeName(tp) != name) { + ++failureCount; + qWarning() << "Wrong typeName returned for" << tp; + } void *buf = QMetaType::construct(tp, 0); void *buf2 = QMetaType::construct(tp, buf); - Q_ASSERT(buf); - Q_ASSERT(buf2); + if (!buf) { + ++failureCount; + qWarning() << "Null buffer returned by QMetaType::construct(tp, 0)"; + } + if (!buf2) { + ++failureCount; + qWarning() << "Null buffer returned by QMetaType::construct(tp, buf)"; + } QMetaType::destroy(tp, buf); QMetaType::destroy(tp, buf2); } } +public: + MetaTypeTorturer() : failureCount(0) { } + int failureCount; }; void tst_QMetaType::threadSafety() @@ -139,6 +157,10 @@ void tst_QMetaType::threadSafety() QVERIFY(t1.wait()); QVERIFY(t2.wait()); QVERIFY(t3.wait()); + + QCOMPARE(t1.failureCount, 0); + QCOMPARE(t2.failureCount, 0); + QCOMPARE(t3.failureCount, 0); } namespace TestSpace |