Commit Graph

9 Commits

Author SHA1 Message Date
Rami Potinkara
9f42f33194 Android: Fix Android 16 emulator CI start problems
This patch updates the fully booted check for Android.

Old logic used init.svc.bootanim property and it's status
"stopped", but since Android 16 forward the status is kept
empty "" if "-no-boot-anim" emulator startup parameter is used.

The new logic simplifies old and relies only to two values:
sys.boot_completed and dev.bootcomplete. These work similary
from Android 9 to 16.

Task-number: QTQAINFRA-7299
Task-number: QTQAINFRA-7298
Pick-to: 6.9 6.8
Change-Id: I62efb0b05cd9792f92040dcb98a37f4bf14022e6
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Reviewed-by: Elias Toivola <elias.toivola@qt.io>
(cherry picked from commit 0eb085f93d)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-09-09 06:19:42 +00:00
Jani Korteniemi
14c7c3061b Fix Android emulator timeout and restart on COIN
Changed device's start timeout to 3 minutes,
and restarting retries to 3.

Changed emulator boot check loop to check against
real time value instead int value.
Some of the tests caused previous
for-loop to take more than 1 second.

Task-number: COIN-1154
Change-Id: I58066ad8f440b2fdee3c5b64d094b2713007bf19
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2024-09-24 07:35:26 +03:00
Assam Boudjelthia
23b09c1d2a Coin/Android: print emulator errors/warnings to coin and log file
Making emulator errors and warnings available directly in the ci run
logs makes it easier to debug issues.

Amends 1c27f95d01.

Task-number: QTQAINFRA-5596
Pick-to: 6.7
Change-Id: I2388dcf9fcdcf18803ff03266493584216f92fdc
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
2023-12-18 16:41:07 +00:00
Assam Boudjelthia
e0498fc679 Android: quote the logcat tag passed to emulator command
To avoid any issue parsing the command params.

Task-number: QTQAINFRA-5596
Pick-to: 6.7
Change-Id: I473839901934405d4ea8607bc98f7b3e3a886805
Reviewed-by: Dimitrios Apostolou <jimis@qt.io>
2023-12-18 05:32:57 +00:00
Petri Virkkunen
ce7be1254b COIN/Android: Specify tags for emulator logcat output
Without specifying tags for logcat output, the flag -logcat-output does
not actually write anything to file. Looks like -logcat-output is
designed to take any logcat output that would be written to the
emulator output and write it to a file instead, so if there is no
logcat output in the emulator output, there will be no output to file.

Task-number: QTQAINFRA-5908
Change-Id: If44265c858f8cb6854659fed6dd15d02cbf1d7ab
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2023-11-01 17:54:28 +03:00
Tony Sarajärvi
620666bce4 Fix shellcheck complaints about provisioning scripts
Also adds executable attributes to shell scripts that were missing it.

Change-Id: Id52ef495147fdbfb5cb1a1f711fac530e0e85f3b
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2023-09-13 06:44:02 +00:00
Assam Boudjelthia
1c27f95d01 COIN/Android: improvements to Android Emulator launcher script
* Don't fail silently if the AVD name is not provided.

* Add the following flags to the emulator:
    * -no-window: since we don't really interact with emulator is CI
    * -no-boot-anim: no need to run the boot animation
    * -no-snapshot-load: removed because it serves nothing
    * -detect-image-hang -restart-when-stalled: helps recover the
      emulator from freezes during execution
    * Disable warning dialog about nested virtualization.

* Terminate the emulator instance if the script expects it to not be
  running, i.e. save time by attempting to terminate and move on with the
  script execution instead of simply failing and doing nothing.

* Add a timeout to the blocking call 'adb wait-for-device'
* Save logcat output to a file for quick access to the logs,
  and put both emulator and logcat files under testresults folder,
  which would them available in cases of failure without needing to
  create a VM for debugging to get the logs.

Task-number: QTQAINFRA-5596
Fixes: QTQAINFRA-4628
Change-Id: I751bbec14980a452e02066f4e79d76fe6f3c018f
Reviewed-by: Simo Fält <simo.falt@qt.io>
2023-08-01 10:43:42 +03:00
Assam Boudjelthia
f7f7c9f915 COIN/Android: Use -avd param to avoid appending '@' to AVD name
Using -avd emulator param saves us from using the '@' character
at the start of the name (which I didn't do few times, and was
faced with an unresponsive emulator and not immediately seeing
the problem in a debug vm).

Task-number: QTQAINFRA-5596
Change-Id: I3863dc312fd33dae78eeb3dd02f5fb16ca79d72b
Reviewed-by: Simo Fält <simo.falt@qt.io>
2023-08-01 10:43:38 +03:00
Assam Boudjelthia
8d199fd701 COIN/ANDROID: Move android_emulator_launcher.sh to qt5.git
The android emulator launcher script is mainly used in CI and thus
makes sense to be moved there. This also makes it easier to make changes
without having to wait for submodule updates.

The env var ANDROID_EMULATOR_RUNNER points to the path of the runner
script, and can be used by qtbase.

qt5.git part of the change.

Task-number: QTQAINFRA-5596
Change-Id: If253e0a5f14d67526995561b1859312e61efdfff
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2023-07-25 15:52:58 +03:00