diff options
author | Rohan McGovern <rohan.mcgovern@nokia.com> | 2011-10-04 09:57:54 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2011-10-04 05:16:43 +0200 |
commit | 8662e071c22c2be2fdf15148b375eb3f6057aab7 (patch) | |
tree | 57d6df2e087fe8a2f3130c561d6e3d6c13b8d6ad | |
parent | ea4c24256db58b162778dabd7a26935f75d81d8b (diff) | |
download | qtdeclarative-8662e071c22c2be2fdf15148b375eb3f6057aab7.tar.gz |
test: fixed testdata deployment for tst_qdeclarativelanguage
Make it feasible to deploy the testdata onto a device.
Task-number: QTBUG-21721
Change-Id: I69e860e17ff9a4882997dd28480856847f230e83
Reviewed-on: http://codereview.qt-project.org/5667
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Chris Adams <christopher.adams@nokia.com>
-rw-r--r-- | tests/auto/declarative/qdeclarativelanguage/data/qtest/declarative/qmllanguage/LocalInternal.qml (renamed from tests/auto/declarative/qdeclarativelanguage/qtest/declarative/qmllanguage/LocalInternal.qml) | 0 | ||||
-rw-r--r-- | tests/auto/declarative/qdeclarativelanguage/data/qtest/declarative/qmllanguage/Test.qml (renamed from tests/auto/declarative/qdeclarativelanguage/qtest/declarative/qmllanguage/Test.qml) | 0 | ||||
-rw-r--r-- | tests/auto/declarative/qdeclarativelanguage/data/qtest/declarative/qmllanguage/TestLocal.qml (renamed from tests/auto/declarative/qdeclarativelanguage/qtest/declarative/qmllanguage/TestLocal.qml) | 0 | ||||
-rw-r--r-- | tests/auto/declarative/qdeclarativelanguage/data/qtest/declarative/qmllanguage/TestNamed.qml (renamed from tests/auto/declarative/qdeclarativelanguage/qtest/declarative/qmllanguage/TestNamed.qml) | 0 | ||||
-rw-r--r-- | tests/auto/declarative/qdeclarativelanguage/data/qtest/declarative/qmllanguage/TestSubDir.qml (renamed from tests/auto/declarative/qdeclarativelanguage/qtest/declarative/qmllanguage/TestSubDir.qml) | 0 | ||||
-rw-r--r-- | tests/auto/declarative/qdeclarativelanguage/data/qtest/declarative/qmllanguage/UndeclaredLocal.qml (renamed from tests/auto/declarative/qdeclarativelanguage/qtest/declarative/qmllanguage/UndeclaredLocal.qml) | 0 | ||||
-rw-r--r-- | tests/auto/declarative/qdeclarativelanguage/data/qtest/declarative/qmllanguage/WrongTestLocal.qml (renamed from tests/auto/declarative/qdeclarativelanguage/qtest/declarative/qmllanguage/WrongTestLocal.qml) | 0 | ||||
-rw-r--r-- | tests/auto/declarative/qdeclarativelanguage/data/qtest/declarative/qmllanguage/noqmldir/Test.qml (renamed from tests/auto/declarative/qdeclarativelanguage/qtest/declarative/qmllanguage/noqmldir/Test.qml) | 0 | ||||
-rw-r--r-- | tests/auto/declarative/qdeclarativelanguage/data/qtest/declarative/qmllanguage/pics/blue.png (renamed from tests/auto/declarative/qdeclarativelanguage/qtest/declarative/qmllanguage/pics/blue.png) | bin | 84 -> 84 bytes | |||
-rw-r--r-- | tests/auto/declarative/qdeclarativelanguage/data/qtest/declarative/qmllanguage/qmldir (renamed from tests/auto/declarative/qdeclarativelanguage/qtest/declarative/qmllanguage/qmldir) | 0 | ||||
-rw-r--r-- | tests/auto/declarative/qdeclarativelanguage/data/qtest/declarative/qmllanguage/subdir/SubTest.qml (renamed from tests/auto/declarative/qdeclarativelanguage/qtest/declarative/qmllanguage/subdir/SubTest.qml) | 0 | ||||
-rw-r--r-- | tests/auto/declarative/qdeclarativelanguage/data/qtest/declarative/qmllanguage/subdir/qmldir (renamed from tests/auto/declarative/qdeclarativelanguage/qtest/declarative/qmllanguage/subdir/qmldir) | 0 | ||||
-rw-r--r-- | tests/auto/declarative/qdeclarativelanguage/qdeclarativelanguage.pro | 4 | ||||
-rw-r--r-- | tests/auto/declarative/qdeclarativelanguage/tst_qdeclarativelanguage.cpp | 45 |
14 files changed, 38 insertions, 11 deletions
diff --git a/tests/auto/declarative/qdeclarativelanguage/qtest/declarative/qmllanguage/LocalInternal.qml b/tests/auto/declarative/qdeclarativelanguage/data/qtest/declarative/qmllanguage/LocalInternal.qml index 4ce04c46d2..4ce04c46d2 100644 --- a/tests/auto/declarative/qdeclarativelanguage/qtest/declarative/qmllanguage/LocalInternal.qml +++ b/tests/auto/declarative/qdeclarativelanguage/data/qtest/declarative/qmllanguage/LocalInternal.qml diff --git a/tests/auto/declarative/qdeclarativelanguage/qtest/declarative/qmllanguage/Test.qml b/tests/auto/declarative/qdeclarativelanguage/data/qtest/declarative/qmllanguage/Test.qml index f789a905f2..f789a905f2 100644 --- a/tests/auto/declarative/qdeclarativelanguage/qtest/declarative/qmllanguage/Test.qml +++ b/tests/auto/declarative/qdeclarativelanguage/data/qtest/declarative/qmllanguage/Test.qml diff --git a/tests/auto/declarative/qdeclarativelanguage/qtest/declarative/qmllanguage/TestLocal.qml b/tests/auto/declarative/qdeclarativelanguage/data/qtest/declarative/qmllanguage/TestLocal.qml index 11443ca6d5..11443ca6d5 100644 --- a/tests/auto/declarative/qdeclarativelanguage/qtest/declarative/qmllanguage/TestLocal.qml +++ b/tests/auto/declarative/qdeclarativelanguage/data/qtest/declarative/qmllanguage/TestLocal.qml diff --git a/tests/auto/declarative/qdeclarativelanguage/qtest/declarative/qmllanguage/TestNamed.qml b/tests/auto/declarative/qdeclarativelanguage/data/qtest/declarative/qmllanguage/TestNamed.qml index 672cb8f201..672cb8f201 100644 --- a/tests/auto/declarative/qdeclarativelanguage/qtest/declarative/qmllanguage/TestNamed.qml +++ b/tests/auto/declarative/qdeclarativelanguage/data/qtest/declarative/qmllanguage/TestNamed.qml diff --git a/tests/auto/declarative/qdeclarativelanguage/qtest/declarative/qmllanguage/TestSubDir.qml b/tests/auto/declarative/qdeclarativelanguage/data/qtest/declarative/qmllanguage/TestSubDir.qml index 0dfede4093..0dfede4093 100644 --- a/tests/auto/declarative/qdeclarativelanguage/qtest/declarative/qmllanguage/TestSubDir.qml +++ b/tests/auto/declarative/qdeclarativelanguage/data/qtest/declarative/qmllanguage/TestSubDir.qml diff --git a/tests/auto/declarative/qdeclarativelanguage/qtest/declarative/qmllanguage/UndeclaredLocal.qml b/tests/auto/declarative/qdeclarativelanguage/data/qtest/declarative/qmllanguage/UndeclaredLocal.qml index 4ce04c46d2..4ce04c46d2 100644 --- a/tests/auto/declarative/qdeclarativelanguage/qtest/declarative/qmllanguage/UndeclaredLocal.qml +++ b/tests/auto/declarative/qdeclarativelanguage/data/qtest/declarative/qmllanguage/UndeclaredLocal.qml diff --git a/tests/auto/declarative/qdeclarativelanguage/qtest/declarative/qmllanguage/WrongTestLocal.qml b/tests/auto/declarative/qdeclarativelanguage/data/qtest/declarative/qmllanguage/WrongTestLocal.qml index 8dcb7be231..8dcb7be231 100644 --- a/tests/auto/declarative/qdeclarativelanguage/qtest/declarative/qmllanguage/WrongTestLocal.qml +++ b/tests/auto/declarative/qdeclarativelanguage/data/qtest/declarative/qmllanguage/WrongTestLocal.qml diff --git a/tests/auto/declarative/qdeclarativelanguage/qtest/declarative/qmllanguage/noqmldir/Test.qml b/tests/auto/declarative/qdeclarativelanguage/data/qtest/declarative/qmllanguage/noqmldir/Test.qml index f789a905f2..f789a905f2 100644 --- a/tests/auto/declarative/qdeclarativelanguage/qtest/declarative/qmllanguage/noqmldir/Test.qml +++ b/tests/auto/declarative/qdeclarativelanguage/data/qtest/declarative/qmllanguage/noqmldir/Test.qml diff --git a/tests/auto/declarative/qdeclarativelanguage/qtest/declarative/qmllanguage/pics/blue.png b/tests/auto/declarative/qdeclarativelanguage/data/qtest/declarative/qmllanguage/pics/blue.png Binary files differindex 46f815f1ed..46f815f1ed 100644 --- a/tests/auto/declarative/qdeclarativelanguage/qtest/declarative/qmllanguage/pics/blue.png +++ b/tests/auto/declarative/qdeclarativelanguage/data/qtest/declarative/qmllanguage/pics/blue.png diff --git a/tests/auto/declarative/qdeclarativelanguage/qtest/declarative/qmllanguage/qmldir b/tests/auto/declarative/qdeclarativelanguage/data/qtest/declarative/qmllanguage/qmldir index 60150f837c..60150f837c 100644 --- a/tests/auto/declarative/qdeclarativelanguage/qtest/declarative/qmllanguage/qmldir +++ b/tests/auto/declarative/qdeclarativelanguage/data/qtest/declarative/qmllanguage/qmldir diff --git a/tests/auto/declarative/qdeclarativelanguage/qtest/declarative/qmllanguage/subdir/SubTest.qml b/tests/auto/declarative/qdeclarativelanguage/data/qtest/declarative/qmllanguage/subdir/SubTest.qml index 1480ae8683..1480ae8683 100644 --- a/tests/auto/declarative/qdeclarativelanguage/qtest/declarative/qmllanguage/subdir/SubTest.qml +++ b/tests/auto/declarative/qdeclarativelanguage/data/qtest/declarative/qmllanguage/subdir/SubTest.qml diff --git a/tests/auto/declarative/qdeclarativelanguage/qtest/declarative/qmllanguage/subdir/qmldir b/tests/auto/declarative/qdeclarativelanguage/data/qtest/declarative/qmllanguage/subdir/qmldir index a54f7dfa61..a54f7dfa61 100644 --- a/tests/auto/declarative/qdeclarativelanguage/qtest/declarative/qmllanguage/subdir/qmldir +++ b/tests/auto/declarative/qdeclarativelanguage/data/qtest/declarative/qmllanguage/subdir/qmldir diff --git a/tests/auto/declarative/qdeclarativelanguage/qdeclarativelanguage.pro b/tests/auto/declarative/qdeclarativelanguage/qdeclarativelanguage.pro index 0964cdf156..638a035deb 100644 --- a/tests/auto/declarative/qdeclarativelanguage/qdeclarativelanguage.pro +++ b/tests/auto/declarative/qdeclarativelanguage/qdeclarativelanguage.pro @@ -11,7 +11,9 @@ INCLUDEPATH += ../shared/ HEADERS += ../shared/testhttpserver.h SOURCES += ../shared/testhttpserver.cpp -DEFINES += SRCDIR=\\\"$$PWD\\\" +importFiles.files = data +importFiles.path = . +DEPLOYMENT += importFiles CONFIG += parallel_test QT += core-private gui-private v8-private declarative-private diff --git a/tests/auto/declarative/qdeclarativelanguage/tst_qdeclarativelanguage.cpp b/tests/auto/declarative/qdeclarativelanguage/tst_qdeclarativelanguage.cpp index 425be1b64f..f7e74e80f7 100644 --- a/tests/auto/declarative/qdeclarativelanguage/tst_qdeclarativelanguage.cpp +++ b/tests/auto/declarative/qdeclarativelanguage/tst_qdeclarativelanguage.cpp @@ -41,6 +41,7 @@ #include <qtest.h> #include <QtDeclarative/qdeclarativeengine.h> #include <QtDeclarative/qdeclarativecomponent.h> +#include <QtCore/qcoreapplication.h> #include <QtCore/qfile.h> #include <QtCore/qdebug.h> #include <QtCore/qfileinfo.h> @@ -58,6 +59,32 @@ DEFINE_BOOL_CONFIG_OPTION(qmlCheckTypes, QML_CHECK_TYPES) /* + Returns the path to some testdata file or directory. +*/ +QString testdata(QString const& name = QString()) +{ + /* + Try to find it relative to the binary. + Note we are looking for a _directory_ which exists, but the _file_ itself need not exist, + to support the case of finding a path to a testdata file which doesn't exist yet (i.e. + a file we are about to create). + */ + QFileInfo relative = QDir(QCoreApplication::applicationDirPath()).filePath(QLatin1String("data/") + name); + if (relative.dir().exists()) { + return relative.absoluteFilePath(); + } + + qWarning("requested testdata %s could not be found (looked at %s)", + qPrintable(name), + qPrintable(relative.filePath()) + ); + + // Chances are the calling test will now fail. + return QString(); +} + + +/* This test case covers QML language issues. This covers everything that does not involve evaluating ECMAScript expressions and bindings. @@ -69,8 +96,7 @@ class tst_qdeclarativelanguage : public QObject public: tst_qdeclarativelanguage() { QDeclarativeMetaType::registerCustomStringConverter(qMetaTypeId<MyCustomVariantType>(), myCustomVariantTypeConverter); - QFileInfo fileInfo(__FILE__); - engine.addImportPath(fileInfo.absoluteDir().filePath(QLatin1String("data/lib"))); + engine.addImportPath(testdata("lib")); } private slots: @@ -172,7 +198,7 @@ private: QVERIFY(!component.isError()); \ QVERIFY(component.errors().isEmpty()); \ } else { \ - QFile file(QLatin1String(SRCDIR) + QLatin1String("/data/") + QLatin1String(errorfile)); \ + QFile file(testdata(QLatin1String(errorfile))); \ QVERIFY(file.open(QIODevice::ReadOnly | QIODevice::Text)); \ QByteArray data = file.readAll(); \ file.close(); \ @@ -203,8 +229,7 @@ private: inline QUrl TEST_FILE(const QString &filename) { - QFileInfo fileInfo(__FILE__); - return QUrl::fromLocalFile(fileInfo.absoluteDir().filePath(QLatin1String("data/") + filename)); + return QUrl::fromLocalFile(testdata(filename)); } inline QUrl TEST_FILE(const char *filename) @@ -1636,7 +1661,7 @@ void tst_qdeclarativelanguage::basicRemote() QFETCH(QString, error); TestHTTPServer server(14447); - server.serveDirectory(SRCDIR); + server.serveDirectory(testdata()); QDeclarativeComponent component(&engine, url); @@ -1680,7 +1705,7 @@ void tst_qdeclarativelanguage::importsRemote() QFETCH(QString, error); TestHTTPServer server(14447); - server.serveDirectory(SRCDIR); + server.serveDirectory(testdata()); testType(qml,type,error); } @@ -1841,7 +1866,7 @@ void tst_qdeclarativelanguage::importIncorrectCase() QCOMPARE(errors.count(), 1); #if defined(Q_OS_MAC) || defined(Q_OS_WIN32) - QString expectedError = QLatin1String("cannot load module \"com.Nokia.installedtest\": File name case mismatch for \"") + QFileInfo(__FILE__).absoluteDir().filePath("data/lib/com/Nokia/installedtest/qmldir") + QLatin1String("\""); + QString expectedError = QLatin1String("cannot load module \"com.Nokia.installedtest\": File name case mismatch for \"") + testdata("lib/com/Nokia/installedtest/qmldir") + QLatin1String("\""); #else QString expectedError = QLatin1String("module \"com.Nokia.installedtest\" is not installed"); #endif @@ -2071,10 +2096,10 @@ void tst_qdeclarativelanguage::registrationOrder() void tst_qdeclarativelanguage::remoteLoadCrash() { TestHTTPServer server(14448); - server.serveDirectory(SRCDIR); + server.serveDirectory(testdata()); QDeclarativeComponent component(&engine); - component.setData("import QtQuick 1.0; Text {}", QUrl("http://127.0.0.1:14448/data/remoteLoadCrash.qml")); + component.setData("import QtQuick 1.0; Text {}", QUrl("http://127.0.0.1:14448/remoteLoadCrash.qml")); while (component.isLoading()) QCoreApplication::processEvents( QEventLoop::ExcludeUserInputEvents | QEventLoop::WaitForMoreEvents, 50); |