Run connectedAndroidTest against an emulator
Using 2.3.7 (10) armeabi for now. We can look into using more images in the future.
This commit is contained in:
parent
ab1ec07686
commit
582eebd436
@ -16,11 +16,24 @@ before_script:
|
||||
- echo y | android -s update sdk --no-ui -a -t platform-tools,tools,build-tools-23.0.0,android-22,extra-android-m2repository
|
||||
- export PATH="$ANDROID_HOME/platform-tools:$PATH"
|
||||
- export PATH="$ANDROID_HOME/build-tools/23.0.0:$PATH"
|
||||
- echo " == Installing emulator system images"
|
||||
- echo y | android -s update sdk --no-ui -a -t android-10
|
||||
- echo " == Installing Gradle"
|
||||
- wget -q -O gradle.zip https://services.gradle.org/distributions/gradle-2.4-bin.zip
|
||||
- unzip -q gradle.zip
|
||||
- export PATH="$PWD/gradle-2.4/bin:$PATH"
|
||||
|
||||
build:
|
||||
test:
|
||||
script:
|
||||
- gradle build
|
||||
- cd F-Droid
|
||||
- echo " == Building via gradle"
|
||||
- gradle clean assemble
|
||||
- echo " == Setting up Android 2.3.7 emulator"
|
||||
- echo no | android create avd --force -n fcl-test -t android-10 -b armeabi
|
||||
- echo " == Starting Android 2.3.7 emulator"
|
||||
- emulator -force-32bit -avd fcl-test -no-skin -no-audio -no-window &
|
||||
- ./tools/wait-for-emulator
|
||||
- echo " == Running Android tests"
|
||||
- gradle connectedAndroidTest
|
||||
- echo " == Stopping Android 2.3.7 emulator"
|
||||
- kill $!
|
||||
|
43
F-Droid/tools/wait-for-emulator
Executable file
43
F-Droid/tools/wait-for-emulator
Executable file
@ -0,0 +1,43 @@
|
||||
#!/bin/bash
|
||||
|
||||
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 "unknown: $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)
|
||||
if [[ "$out" =~ "command not found" ]]; then
|
||||
err "$out"
|
||||
fi
|
||||
if [[ "$out" =~ "stopped" ]]; then
|
||||
break
|
||||
fi
|
||||
exp=$(explain "$out")
|
||||
let "r = sec % 5"
|
||||
if [[ $r -eq 0 ]]; then
|
||||
echo "Waiting for emulator to start: $exp"
|
||||
fi
|
||||
sleep 1
|
||||
let "sec++"
|
||||
done
|
||||
|
||||
echo "Emulator is ready"
|
Loading…
x
Reference in New Issue
Block a user