diff options
author | Assam Boudjelthia <assam.boudjelthia@qt.io> | 2022-02-16 13:08:49 +0200 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2022-03-02 17:14:35 +0000 |
commit | 76d1196c2c2fae92818eda037b243b765ae2b36a (patch) | |
tree | 0538bc6cc772161a920c3197ac5f1aef829fe5eb | |
parent | c52d876d915d9cefb5a3e144ff21007e6eaab7d1 (diff) |
Android: various test fixes
2nd round of test failures fixes for Android. Mostly resource bundling
related issues still.
Task-number: QTBUG-97056
Change-Id: I2fac0710a7b5528fcef4480babd0cbf749e488b3
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit 9bdfea7f1f1ffe16c7a1140b09c94b9d72d24f18)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
9 files changed, 47 insertions, 5 deletions
diff --git a/tests/auto/cmake/CMakeLists.txt b/tests/auto/cmake/CMakeLists.txt index 1d75a0bdba..4ea17fb0eb 100644 --- a/tests/auto/cmake/CMakeLists.txt +++ b/tests/auto/cmake/CMakeLists.txt @@ -65,7 +65,9 @@ if(TARGET Qt::Qml) _qt_internal_test_expect_pass(test_plugins) endif() _qt_internal_test_expect_pass(empty_qmldir) - _qt_internal_test_expect_pass(qmlquery) + If(NOT ANDROID) # QML only project cannot run on Android with C++ enty point + _qt_internal_test_expect_pass(qmlquery) + endif() endif() if(TARGET Qt::Quick) diff --git a/tests/auto/cmake/empty_qmldir/CMakeLists.txt b/tests/auto/cmake/empty_qmldir/CMakeLists.txt index 432e6e99da..259adc2610 100644 --- a/tests/auto/cmake/empty_qmldir/CMakeLists.txt +++ b/tests/auto/cmake/empty_qmldir/CMakeLists.txt @@ -14,6 +14,11 @@ endif() qt_add_executable(empty_qmldir_test main.cpp) target_link_libraries(empty_qmldir_test PRIVATE Qt6::Test) +if(ANDROID) + # Tests link to Gui by default beacuse it's needed for Android (QTBUG-83997) when + # using qt_internal_add_test() but not here where qt_add_executable() is used. + target_link_libraries(empty_qmldir_test PRIVATE Qt6::Gui) +endif() qt_add_qml_module(empty_qmldir_test URI Third diff --git a/tests/auto/qml/qmlbasicapp/tst_qmlbasicapp.cpp b/tests/auto/qml/qmlbasicapp/tst_qmlbasicapp.cpp index 2fd7ef634b..a6c6e4accd 100644 --- a/tests/auto/qml/qmlbasicapp/tst_qmlbasicapp.cpp +++ b/tests/auto/qml/qmlbasicapp/tst_qmlbasicapp.cpp @@ -44,6 +44,9 @@ private slots: void tst_basicapp::loadComponent() { QQmlEngine engine; +#ifdef Q_OS_ANDROID + engine.addImportPath(":/"); +#endif QQmlComponent c(&engine, QStringLiteral("qrc:/BasicApp/main.qml")); QVERIFY2(c.isReady(), qPrintable(c.errorString())); QScopedPointer o(c.create()); @@ -83,6 +86,9 @@ void tst_basicapp::resourceFiles() void tst_basicapp::fileSystemFiles() { +#ifdef Q_OS_ANDROID + QSKIP("This test is not valid for Android, because the files can exist only as resources."); +#endif const QString basedir = QCoreApplication::applicationDirPath(); QVERIFY(QFile::exists(basedir + QStringLiteral("/BasicApp/main.qml"))); QVERIFY(QFile::exists(basedir + QStringLiteral("/BasicApp/qmldir"))); @@ -99,8 +105,13 @@ void tst_basicapp::fileSystemFiles() void tst_basicapp::qmldirContents() { +#ifdef Q_OS_ANDROID + const QString basedir = QStringLiteral(":"); // Use qrc resource path on Android +#else + const QString basedir = QCoreApplication::applicationDirPath(); +#endif { - QFile qmldir(QCoreApplication::applicationDirPath() + "/BasicApp/qmldir"); + QFile qmldir(basedir + "/BasicApp/qmldir"); QVERIFY(qmldir.open(QIODevice::ReadOnly)); const QByteArray contents = qmldir.readAll(); QVERIFY(contents.contains("module BasicApp")); @@ -115,7 +126,7 @@ void tst_basicapp::qmldirContents() } { - QFile qmldir(QCoreApplication::applicationDirPath() + "/TimeExample/qmldir"); + QFile qmldir(basedir + "/TimeExample/qmldir"); QVERIFY(qmldir.open(QIODevice::ReadOnly)); const QByteArray contents = qmldir.readAll(); QVERIFY(contents.contains("module TimeExample")); @@ -132,7 +143,7 @@ void tst_basicapp::qmldirContents() } { - QFile qmldir(QCoreApplication::applicationDirPath() + "/BasicExtension/qmldir"); + QFile qmldir(basedir + "/BasicExtension/qmldir"); QVERIFY(qmldir.open(QIODevice::ReadOnly)); const QByteArray contents = qmldir.readAll(); QVERIFY(contents.contains("More 1.0 More.ui.qml")); diff --git a/tests/auto/qml/qqmlcomponent/data/jsmodule/module.mjs b/tests/auto/qml/qqmlcomponent/data/jsmodule/module.mjs index 3dd3507d45..9175ba0a67 100644 --- a/tests/auto/qml/qqmlcomponent/data/jsmodule/module.mjs +++ b/tests/auto/qml/qqmlcomponent/data/jsmodule/module.mjs @@ -1,5 +1,6 @@ export function withProp(root) { - const component = Qt.createComponent("data/jsmodule/Dynamic.qml"); + const prefix = Qt.platform.os == "android" ? "qrc:" : ""; + const component = Qt.createComponent(prefix + "data/jsmodule/Dynamic.qml"); const el = component.createObject(root, { value: 42 }); return el.value; } diff --git a/tests/auto/quickcontrols2/customization/dummy.qml b/tests/auto/quickcontrols2/customization/dummy.qml new file mode 100644 index 0000000000..138b24f6e2 --- /dev/null +++ b/tests/auto/quickcontrols2/customization/dummy.qml @@ -0,0 +1,5 @@ +import QtQuick +import QtQuick.Window +import QtQuick.Controls + +QtObject {} diff --git a/tests/auto/quickcontrols2/styleimportscompiletimeqmlonly/dummy.qml b/tests/auto/quickcontrols2/styleimportscompiletimeqmlonly/dummy.qml new file mode 100644 index 0000000000..10c188956c --- /dev/null +++ b/tests/auto/quickcontrols2/styleimportscompiletimeqmlonly/dummy.qml @@ -0,0 +1,3 @@ +import QtQuick.Controls.Basic + +QtObject {} diff --git a/tests/auto/quickdialogs/qquickfiledialogimpl/dummy.qml b/tests/auto/quickdialogs/qquickfiledialogimpl/dummy.qml new file mode 100644 index 0000000000..cffae81fbd --- /dev/null +++ b/tests/auto/quickdialogs/qquickfiledialogimpl/dummy.qml @@ -0,0 +1,5 @@ +import QtQuick.Controls +import QtQuick.Layouts +import Qt.labs.folderlistmodel + +QtObject {} diff --git a/tests/auto/quickdialogs/qquickfolderdialogimpl/dummy.qml b/tests/auto/quickdialogs/qquickfolderdialogimpl/dummy.qml new file mode 100644 index 0000000000..d5bb0b6bb5 --- /dev/null +++ b/tests/auto/quickdialogs/qquickfolderdialogimpl/dummy.qml @@ -0,0 +1,6 @@ +import QtQuick +import QtQuick.Controls +import QtQuick.Layouts +import Qt.labs.folderlistmodel + +QtObject {} diff --git a/tests/auto/quickdialogs/qquickmessagedialogimpl/dummy.qml b/tests/auto/quickdialogs/qquickmessagedialogimpl/dummy.qml new file mode 100644 index 0000000000..f7df04e6fc --- /dev/null +++ b/tests/auto/quickdialogs/qquickmessagedialogimpl/dummy.qml @@ -0,0 +1,4 @@ +import QtQuick +import QtQuick.Layouts + +QtObject {} |