aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Buhr <andreas.buhr@qt.io>2022-05-02 14:56:43 +0200
committerAndreas Buhr <andreas.buhr@qt.io>2022-05-19 12:38:19 +0200
commit4770c97c33c000a8184a97612910bf096f1b6445 (patch)
treebc9ba5fc3cb57bfaf2ee84fcf37db4ccaa4692a1
parent1dbfadd9e70aafa5fdb554599e4a9648694ebe55 (diff)
Include qml test data file in tst_qquickimageprovider for dependencies
When building tst_qquickimageprovider for Android, it did not contain all of its dependencies, because qml scripts are defined in strings and are thus invisible to the build system. This patch creates one qml file which is enough for the build system to pick up the dependencies. Task-number: QTBUG-103047 Task-number: QTBUG-101865 Change-Id: I2c08f56995b43d1861fbf6b9359b150318a7c0f5 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io> (cherry picked from commit 9ab67f0ff03757d55e943a312ed1abd27b217b68)
-rw-r--r--tests/auto/quick/qquickimageprovider/CMakeLists.txt18
-rw-r--r--tests/auto/quick/qquickimageprovider/data/forImports.qml5
-rw-r--r--tests/auto/quick/qquickimageprovider/tst_qquickimageprovider.cpp5
3 files changed, 26 insertions, 2 deletions
diff --git a/tests/auto/quick/qquickimageprovider/CMakeLists.txt b/tests/auto/quick/qquickimageprovider/CMakeLists.txt
index a336e28048..d66b6001cb 100644
--- a/tests/auto/quick/qquickimageprovider/CMakeLists.txt
+++ b/tests/auto/quick/qquickimageprovider/CMakeLists.txt
@@ -4,6 +4,12 @@
## tst_qquickimageprovider Test:
#####################################################################
+# Collect test data
+file(GLOB_RECURSE test_data_glob
+ RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
+ data/*)
+list(APPEND test_data ${test_data_glob})
+
qt_internal_add_test(tst_qquickimageprovider
SOURCES
tst_qquickimageprovider.cpp
@@ -14,7 +20,19 @@ qt_internal_add_test(tst_qquickimageprovider
Qt::Network
Qt::QmlPrivate
Qt::QuickPrivate
+ Qt::QuickTestUtilsPrivate
+ TESTDATA ${test_data}
)
## Scopes:
#####################################################################
+
+qt_internal_extend_target(tst_qquickimageprovider CONDITION ANDROID OR IOS
+ DEFINES
+ QT_QMLTEST_DATADIR=\\\":/data\\\"
+ )
+
+qt_internal_extend_target(tst_qquickimageprovider CONDITION NOT ANDROID AND NOT IOS
+ DEFINES
+ QT_QMLTEST_DATADIR=\\\"${CMAKE_CURRENT_SOURCE_DIR}/data\\\"
+ )
diff --git a/tests/auto/quick/qquickimageprovider/data/forImports.qml b/tests/auto/quick/qquickimageprovider/data/forImports.qml
new file mode 100644
index 0000000000..c11b37f327
--- /dev/null
+++ b/tests/auto/quick/qquickimageprovider/data/forImports.qml
@@ -0,0 +1,5 @@
+import QtQuick 2.0
+
+Image {
+ source: "image://test/no-such-file.png";
+}
diff --git a/tests/auto/quick/qquickimageprovider/tst_qquickimageprovider.cpp b/tests/auto/quick/qquickimageprovider/tst_qquickimageprovider.cpp
index 1a479f7c0c..f76217d11d 100644
--- a/tests/auto/quick/qquickimageprovider/tst_qquickimageprovider.cpp
+++ b/tests/auto/quick/qquickimageprovider/tst_qquickimageprovider.cpp
@@ -34,14 +34,15 @@
#include <QWaitCondition>
#include <QThreadPool>
#include <private/qqmlengine_p.h>
+#include <QtQuickTestUtils/private/qmlutils_p.h>
Q_DECLARE_METATYPE(QQuickImageProvider*);
-class tst_qquickimageprovider : public QObject
+class tst_qquickimageprovider : public QQmlDataTest
{
Q_OBJECT
public:
- tst_qquickimageprovider()
+ tst_qquickimageprovider() : QQmlDataTest(QT_QMLTEST_DATADIR)
{
}