summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason McDonald <jason.mcdonald@nokia.com>2011-05-03 11:48:40 +1000
committerRohan McGovern <rohan.mcgovern@nokia.com>2011-05-18 10:46:42 +1000
commitd0d393d86f3cc0300fe6329733b409e713263cb3 (patch)
tree69483e15f2f73d798d4ad12c1fa2f051bff7240d
parent4bf7ac3968ea6d3aa3f438fe0bd2a53ac7e357b7 (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.cpp32
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