mirror of
https://github.com/iSoron/uhabits.git
synced 2025-12-06 09:08:52 -06:00
build.sh: Create fresh AVD for large-tests
This commit is contained in:
@@ -19,6 +19,8 @@ cd "$(dirname "$0")"
|
||||
|
||||
ADB="${ANDROID_HOME}/platform-tools/adb"
|
||||
EMULATOR="${ANDROID_HOME}/tools/emulator"
|
||||
AVDMANAGER="${ANDROID_HOME}/tools/bin/avdmanager"
|
||||
AVDNAME="uhabitsTest"
|
||||
GRADLE="./gradlew --stacktrace"
|
||||
PACKAGE_NAME=org.isoron.uhabits
|
||||
OUTPUTS_DIR=uhabits-android/build/outputs
|
||||
@@ -220,6 +222,36 @@ remove_build_dir() {
|
||||
rm -rfv uhabits-core/build
|
||||
}
|
||||
|
||||
remove_avd() {
|
||||
log_info "Removing avd"
|
||||
$AVDMANAGER delete avd --name $AVDNAME
|
||||
}
|
||||
|
||||
create_avd() {
|
||||
API=$1
|
||||
log_info "Creating avd"
|
||||
$AVDMANAGER create avd \
|
||||
--name $AVDNAME \
|
||||
--package "system-images;android-$API;default;x86_64" \
|
||||
--device pixel_xl || fail
|
||||
}
|
||||
|
||||
run_avd() {
|
||||
log_info "Launching emulator"
|
||||
$EMULATOR @$AVDNAME &
|
||||
|
||||
log_info "Waiting for device..."
|
||||
$ADB wait-for-device
|
||||
sleep 5
|
||||
}
|
||||
|
||||
stop_avd() {
|
||||
log_info "Stopping emulator..."
|
||||
# https://stackoverflow.com/a/38652520
|
||||
adb devices | grep emulator | cut -f1 | while read line; do adb -s $line emu kill; done
|
||||
sleep 15
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
build)
|
||||
shift; parse_opts $*
|
||||
@@ -240,7 +272,15 @@ case "$1" in
|
||||
|
||||
large-tests)
|
||||
shift; parse_opts $*
|
||||
stop_avd
|
||||
remove_avd
|
||||
for api in 28; do
|
||||
create_avd $api
|
||||
run_avd
|
||||
run_tests large
|
||||
stop_avd
|
||||
remove_avd
|
||||
done
|
||||
;;
|
||||
|
||||
fetch-images)
|
||||
|
||||
Reference in New Issue
Block a user