diff options
author | BogDan Vatra <bogdan@kde.org> | 2020-04-08 14:07:21 +0300 |
---|---|---|
committer | Assam Boudjelthia <assam.boudjelthia@qt.io> | 2020-08-24 14:50:56 +0300 |
commit | 45b56d86bb6bdbc96a04b21587b8c9bc24087113 (patch) | |
tree | 14a784df21b1b00d797799dab27e234958882e49 /mkspecs/features/testcase.prf | |
parent | 556a7e7318fce42e154439dd7157f44551a7f1ae (diff) |
Fix running qml tests on Android
First and foremost the condition was wrong ...
In order to help running qml test cases on Android without any android
specific hack on
user's .pro files we copy the entire project folder to assets. I copy the
entire folder
and not only the tst_*.qml files because it might contain data which is
needed by the tests to run.
Change-Id: I06323d9d52904317410dd2f440de65a0766a48b5
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
Diffstat (limited to 'mkspecs/features/testcase.prf')
-rw-r--r-- | mkspecs/features/testcase.prf | 58 |
1 files changed, 33 insertions, 25 deletions
diff --git a/mkspecs/features/testcase.prf b/mkspecs/features/testcase.prf index 4cce55fe04..53704c8787 100644 --- a/mkspecs/features/testcase.prf +++ b/mkspecs/features/testcase.prf @@ -63,33 +63,41 @@ debug_and_release:debug_and_release_target { # Allow for a custom test runner script android: isEmpty($(TESTRUNNER)) { - APK_PATH = $$shell_path($$OUT_PWD/android-build/$${TARGET}.apk) - qtPrepareTool(ANDROIDTESTRUNNER, androidtestrunner) - qtPrepareTool(ANDROIDDEPLOYQT, androiddeployqt) - isEmpty(ANDROID_DEPLOYMENT_SETTINGS_FILE): ANDROID_DEPLOYMENT_SETTINGS_FILE = $$OUT_PWD/android-$$TARGET-deployment-settings.json - contains(QMAKE_HOST.os, Windows): extension = .exe - $${type}.commands = $$ANDROIDTESTRUNNER --androiddeployqt \"$$ANDROIDDEPLOYQT --input $$ANDROID_DEPLOYMENT_SETTINGS_FILE\" - $${type}.commands += --path \"$$OUT_PWD/android-build\" - $${type}.commands += --adb \"$$shell_path($${ANDROID_SDK_ROOT}$${QMAKE_DIR_SEP}platform-tools$${QMAKE_DIR_SEP}adb$${extension})\" - $${type}.commands += --make \"$(MAKE) -f $(MAKEFILE)\" - $${type}.commands += --apk $$APK_PATH -} else: $${type}.commands += $(TESTRUNNER) - -unix { - isEmpty(TEST_TARGET_DIR): TEST_TARGET_DIR = . - - app_bundle: \ - $${type}.commands += $${TEST_TARGET_DIR}/$(QMAKE_TARGET).app/Contents/MacOS/$(QMAKE_TARGET) - else: !android: \ - $${type}.commands += $${TEST_TARGET_DIR}/$(QMAKE_TARGET) + build_pass { + APK_PATH = $$shell_path($$OUT_PWD/android-build/$${TARGET}.apk) + qtPrepareTool(ANDROIDTESTRUNNER, androidtestrunner) + qtPrepareTool(ANDROIDDEPLOYQT, androiddeployqt) + isEmpty(ANDROID_DEPLOYMENT_SETTINGS_FILE): ANDROID_DEPLOYMENT_SETTINGS_FILE = $$OUT_PWD/android-$$TARGET-deployment-settings.json + contains(QMAKE_HOST.os, Windows): extension = .exe + $${type}.commands = $$ANDROIDTESTRUNNER --path \"$$OUT_PWD/android-build\" + $${type}.commands += --adb \"$$shell_path($${ANDROID_SDK_ROOT}$${QMAKE_DIR_SEP}platform-tools$${QMAKE_DIR_SEP}adb$${extension})\" + $${type}.commands += --make \"$(MAKE) apk\" + $${type}.commands += --apk $$APK_PATH + # Allow for custom arguments to tests + !catch: $${type}.commands += $(TESTARGS) + $${type}.commands += "--" + for(import, IMPORTPATH): $${type}.commands *= -import \"assets:/$$basename(_PRO_FILE_PWD_)/$$import\" + } else { + $${type}.commands = "echo \"Pass\"" + } } else { - # Windows - !isEmpty(TEST_TARGET_DIR): TEST_TARGET_DIR = $$shell_path($$TEST_TARGET_DIR)$${QMAKE_DIR_SEP} - $${type}.commands += $${TEST_TARGET_DIR}$(TARGET) -} + $${type}.commands += $(TESTRUNNER) + + unix { + isEmpty(TEST_TARGET_DIR): TEST_TARGET_DIR = . -# Allow for custom arguments to tests -!catch: $${type}.commands += $(TESTARGS) + app_bundle: \ + $${type}.commands += $${TEST_TARGET_DIR}/$(QMAKE_TARGET).app/Contents/MacOS/$(QMAKE_TARGET) + else: !android: \ + $${type}.commands += $${TEST_TARGET_DIR}/$(QMAKE_TARGET) + } else { + # Windows + !isEmpty(TEST_TARGET_DIR): TEST_TARGET_DIR = $$shell_path($$TEST_TARGET_DIR)$${QMAKE_DIR_SEP} + $${type}.commands += $${TEST_TARGET_DIR}$(TARGET) + } + # Allow for custom arguments to tests + !catch: $${type}.commands += $(TESTARGS) +} !isEmpty(TESTRUN_CWD):!contains(TESTRUN_CWD, ^\\./?): \ $${type}.commands = $$QMAKE_CD $$shell_path($$TESTRUN_CWD) && $$eval($${type}.commands) |