Remove Q_ASSERT from qitemmodel autotest
authorJason McDonald <jason.mcdonald@nokia.com>
Fri, 6 May 2011 05:12:03 +0000 (15:12 +1000)
committerRohan McGovern <rohan.mcgovern@nokia.com>
Wed, 18 May 2011 00:46:46 +0000 (10:46 +1000)
Don't perform actions needed for the test inside Q_ASSERT, because these
actions won't happen in a non-debug build.

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

tests/auto/qitemmodel/modelstotest.cpp

index 4e63307..7ebf2c7 100644 (file)
@@ -313,10 +313,17 @@ QModelIndex ModelsToTest::populateTestArea(QAbstractItemModel *model)
     }
 
     if (QDirModel *dirModel = qobject_cast<QDirModel *>(model)) {
-        // Don't risk somthing bad happening, assert if this fails
-        Q_ASSERT(QDir(QDir::currentPath()).mkdir("test"));
-        for (int i = 0; i < 26; ++i)
-            Q_ASSERT(QDir(QDir::currentPath()).mkdir(QString("test/foo_%1").arg(i)));
+        if (!QDir::current().mkdir("test"))
+            qFatal("%s: cannot create directory %s",
+                   Q_FUNC_INFO,
+                   qPrintable(QDir::toNativeSeparators(QDir::currentPath()+"/test")));
+        for (int i = 0; i < 26; ++i) {
+            QString subdir = QString("test/foo_%1").arg(i);
+            if (!QDir::current().mkdir(subdir))
+                qFatal("%s: cannot create directory %s",
+                       Q_FUNC_INFO,
+                       qPrintable(QDir::toNativeSeparators(QDir::currentPath()+"/"+subdir)));
+        }
         return dirModel->index(QDir::currentPath()+"/test");
     }
 
@@ -386,9 +393,17 @@ void ModelsToTest::cleanupTestArea(QAbstractItemModel *model)
     {
         if (QDir(QDir::currentPath()+"/test").exists())
         {
-            for (int i = 0; i < 26; ++i)
-                QDir::current().rmdir(QString("test/foo_%1").arg(i));
-            Q_ASSERT(QDir::current().rmdir("test"));
+            for (int i = 0; i < 26; ++i) {
+                QString subdir(QString("test/foo_%1").arg(i));
+                if (!QDir::current().rmdir(subdir))
+                    qFatal("%s: cannot remove directory %s",
+                           Q_FUNC_INFO,
+                           qPrintable(QDir::toNativeSeparators(QDir::currentPath()+"/"+subdir)));
+            }
+            if (!QDir::current().rmdir("test"))
+                qFatal("%s: cannot remove directory %s",
+                       Q_FUNC_INFO,
+                       qPrintable(QDir::toNativeSeparators(QDir::currentPath()+"/test")));
         }
     } else if (qobject_cast<QSqlQueryModel *>(model)) {
         QSqlQuery q("DROP TABLE test");