Details
-
Bug
-
Resolution: Unresolved
-
P1: Critical
-
None
-
6.3.0
-
None
Description
tst_qqmlenginecleanup::test_customModuleCleanup() is broken on Android.
It says:
********* Start testing of tst_qqmlenginecleanup ********* Config: Using QtTest library 6.4.0, Qt 6.4.0 (arm64-little_endian-lp64 shared (dynamic) debug build; by Clang 12.0.8 (https://android.googlesource.com/toolchain/llvm-project c935d99d7cf2016289302412d708641d52d2f7ee)), android 12.0 PASS : tst_qqmlenginecleanup::initTestCase() PASS : tst_qqmlenginecleanup::test_qmlClearTypeRegistrations() PASS : tst_qqmlenginecleanup::test_valueTypeProviderModule() FAIL! : tst_qqmlenginecleanup::test_customModuleCleanup() 'component.status() == QQmlComponent::Ready' returned FALSE. (Attempt #0 ::1 module "CustomModule" is not installed ) Loc: [/home/andreasbuhr/development/qtdev/qtdeclarative/tests/auto/qml/qqmlenginecleanup/tst_qqmlenginecleanup.cpp(191)] PASS : tst_qqmlenginecleanup::cleanupTestCase() Totals: 4 passed, 1 failed, 0 skipped, 0 blacklisted, 3380ms ********* Finished testing of tst_qqmlenginecleanup *********
Because CustomModule is only used in a string, I created a new qml file in data/ importing CustomModule to let qmlimportscanner know CustomModule is used.
But then, it does not find it. I get the message
Warning: QML import could not be resolved in any of the import paths: CustomModule
Looking for the reason I found the following:
1. When android-tst_qqmlenginecleanup-deployment-settings.json is generated, the dependency seems to be known. That json file contains
"extraLibraryDirs" : [ "/data/androidbuild_armv8/qtdeclarative-android/tests/auto/qml/qqmlenginecleanup/CustomModule",
and this is indeed the correct directory. However, androiddeployqt does not forward it to qmlimportscanner. After enabling verbose output, I see the message
Running qmlimportscanner with the following command: /data/androidbuild_armv8/qtbase/libexec/qmlimportscanner -rootPath /home/andreasbuhr/development/qtdev/qtdeclarative/tests/auto/qml/qqmlenginecleanup/data/ -rootPath /home/andreasbuhr/development/qtdev/qtdeclarative/tests/auto/qml/qqmlenginecleanup/ -importPath /data/androidbuild_armv8/qtbase-android/qml /home/andreasbuhr/development/qtdev/qtdeclarative/tests/auto/qml/qqmlenginecleanup/data/ /home/andreasbuhr/development/qtdev/qtdeclarative/tests/auto/qml/qqmlenginecleanup/
So qmlimportscanner is not told about this directory containing CustomModule.
How to solve this?
Attachments
Gerrit Reviews
For Gerrit Dashboard: QTBUG-102833 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
407352,3 | Blacklist tst_qqmlenginecleanup::test_customModuleCleanup() on Android | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |
407417,2 | Blacklist tst_qqmlenginecleanup::test_customModuleCleanup() on Android | 6.3 | qt/qtdeclarative | Status: MERGED | +2 | 0 |
407446,2 | Blacklist tst_qqmlenginecleanup::test_customModuleCleanup() on Android | tqtc/lts-6.2 | qt/tqtc-qtdeclarative | Status: MERGED | +2 | 0 |