Remove Q_ASSERT's from QVariant autotest.
authorJason McDonald <jason.mcdonald@nokia.com>
Tue, 3 May 2011 05:58:24 +0000 (15:58 +1000)
committerRohan McGovern <rohan.mcgovern@nokia.com>
Wed, 18 May 2011 00:46:43 +0000 (10:46 +1000)
Print a meaningful warning message instead of aborting in debug
mode builds and failing silently in release mode builds.

Change-Id: I44143c5fbe6b6af87bdf5bd231cfaf9a3c9c33f8
Task-number: QTBUG-17582
Reviewed-by: Rohan McGovern
(cherry picked from commit a8dc321b6669dd263a25a0cb5766e5b7150c6e20)

tests/auto/qvariant/tst_qvariant.cpp

index 3e65d7e..69855a1 100644 (file)
@@ -3239,18 +3239,21 @@ struct MyData
 {
     void *ptr;
     MyData() : ptr(this) {}
-    ~MyData() { Q_ASSERT(ptr == this); }
+    ~MyData()
+    {
+        if (ptr != this) qWarning("MyData::~MyData(): object has moved");
+    }
     MyData(const MyData& o) : ptr(this) { Q_ASSERT(o.ptr == &o); }
     MyData &operator=(const MyData &o)
     {
-        Q_ASSERT(ptr == this);
-        Q_ASSERT(o.ptr == &o);
+        if (ptr != this) qWarning("MyData::operator=(): object has moved");
+        if (o.ptr != &o) qWarning("MyData::operator=(): other object has moved");
         return *this;
     }
     bool operator==(const MyData &o) const
     {
-        Q_ASSERT(ptr == this);
-        Q_ASSERT(o.ptr == &o);
+        if (ptr != this) qWarning("MyData::operator==(): object has moved");
+        if (o.ptr != &o) qWarning("MyData::operator==(): other object has moved");
         return true;
     }
 };