Only attempt to load QML test cases from source directory if it exists.
authorAaron McCarthy <aaron.mccarthy@nokia.com>
Mon, 27 Feb 2012 01:11:10 +0000 (11:11 +1000)
committerQt by Nokia <qt-info@nokia.com>
Tue, 13 Mar 2012 04:13:50 +0000 (05:13 +0100)
When running installed unit tests the QML test cases are likely not
in the source directory, but in the same directory as the installed
test binary.  If the source directory does not exist, fall back to
searching for QML test cases in the current directory.

Change-Id: I231b9cd49b12d88dd6cfbcc8dfb8b6c2c69d5aad
Reviewed-by: Yunqiao Yin <charles.yin@nokia.com>

src/qmltest/quicktest.cpp

index 2e32a60..1c69cee 100644 (file)
@@ -203,8 +203,11 @@ int quick_test_main(int argc, char **argv, const char *name, quick_test_viewport
     }
 
     // Determine where to look for the test data.
-    if (testPath.isEmpty() && sourceDir)
-        testPath = QString::fromLocal8Bit(sourceDir);
+    if (testPath.isEmpty() && sourceDir) {
+        const QString s = QString::fromLocal8Bit(sourceDir);
+        if (QFile::exists(s))
+            testPath = s;
+    }
     if (testPath.isEmpty()) {
         QDir current = QDir::current();
 #ifdef Q_OS_WIN