diff options
author | cyBerta <cyberta@riseup.net> | 2018-02-01 17:48:50 +0100 |
---|---|---|
committer | cyBerta <cyberta@riseup.net> | 2018-02-01 17:48:50 +0100 |
commit | 0161973d77ead085f99dc64d8a6dfb2ff3d192c0 (patch) | |
tree | e9f517c5794dac172b7cdaa468259d27a9219bf8 /.gitlab/wait-for-emulator.sh | |
parent | 6c9a6fae70ef35d2e04466f4118e1572b38bccfc (diff) | |
parent | a43778e930041ab26e4d70348553fb98c3f6872d (diff) |
Merge branch '#8818_tests_for_drawer' into #8832_update_ics-openvpn
Diffstat (limited to '.gitlab/wait-for-emulator.sh')
-rwxr-xr-x | .gitlab/wait-for-emulator.sh | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/.gitlab/wait-for-emulator.sh b/.gitlab/wait-for-emulator.sh new file mode 100755 index 00000000..cd51428a --- /dev/null +++ b/.gitlab/wait-for-emulator.sh @@ -0,0 +1,44 @@ +#!/bin/bash + +# from https://gitlab.com/fdroid/fdroidclient + +sec=0 +timeout=360 + +err() { + echo "$@" + exit 1 +} + +explain() { + if [[ "$1" =~ "not found" ]]; then + printf "device not found" + elif [[ "$1" =~ "offline" ]]; then + printf "device offline" + elif [[ "$1" =~ "running" ]]; then + printf "booting" + else + printf "$1" + fi +} + +while true; do + if [[ $sec -ge $timeout ]]; then + err "Timeout ($timeout seconds) reached - Failed to start emulator" + fi + out=$(adb -e shell getprop init.svc.bootanim 2>&1 | grep -v '^\*') + if [[ "$out" =~ "command not found" ]]; then + err "$out" + fi + if [[ "$out" =~ "stopped" ]]; then + break + fi + let "r = sec % 5" + if [[ $r -eq 0 ]]; then + echo "Waiting for emulator to start: $(explain "$out")" + fi + sleep 1 + let "sec++" +done + +echo "Emulator is ready" |