make it possible to run single qml test case file by passing a tst_*.qml file to...
authorCharles Yin <charles.yin@nokia.com>
Mon, 10 Oct 2011 01:30:15 +0000 (11:30 +1000)
committerQt by Nokia <qt-info@nokia.com>
Mon, 10 Oct 2011 03:47:52 +0000 (05:47 +0200)
Change-Id: I8376ca0ae23d4366d69e0e7f3c95593ba54fc71d
Reviewed-on: http://codereview.qt-project.org/6273
Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Charles Yin <charles.yin@nokia.com>
src/qmltest/quicktest.cpp

index 641d7e0..862da0c 100644 (file)
@@ -147,16 +147,21 @@ int quick_test_main(int argc, char **argv, const char *name, quick_test_viewport
     if (testPath.isEmpty())
         testPath = QLatin1String(".");
 
-    // Scan the test data directory recursively, looking for "tst_*.qml" files.
-    QStringList filters;
-    filters += QLatin1String("tst_*.qml");
     QStringList files;
-    QDirIterator iter(testPath, filters, QDir::Files,
-                      QDirIterator::Subdirectories |
-                      QDirIterator::FollowSymlinks);
-    while (iter.hasNext())
-        files += iter.next();
-    files.sort();
+
+    if (testPath.endsWith(QLatin1String(".qml")) && QFileInfo(testPath).isFile()) {
+        files << testPath;
+    } else {
+        // Scan the test data directory recursively, looking for "tst_*.qml" files.
+        QStringList filters;
+        filters += QLatin1String("tst_*.qml");
+        QDirIterator iter(testPath, filters, QDir::Files,
+                          QDirIterator::Subdirectories |
+                          QDirIterator::FollowSymlinks);
+        while (iter.hasNext())
+            files += iter.next();
+        files.sort();
+    }
 
     // Bail out if we didn't find any test cases.
     if (files.isEmpty()) {