@@ -32,17 +32,17 @@ case $(uname -m) in
3232esac
3333
3434cleanup () {
35- pkill -INT -P $$
36- wait
37- trap - EXIT
3835 rm -f magisk_* .img
3936 " $avd " delete avd -n test
40- exit 1
4137}
4238
4339test_error () {
40+ trap - EXIT
4441 print_error " ! An error occurred"
42+ pkill -INT -P $$
43+ wait
4544 cleanup
45+ exit 1
4646}
4747
4848wait_for_boot () {
@@ -72,13 +72,14 @@ wait_emu() {
7272
7373dump_vars () {
7474 local val
75- for name in $@ ; do
75+ for name in $@ emu_args ; do
7676 eval val=\$ $name
7777 echo $name =\" $val \"\;
7878 done
7979}
8080
8181resolve_vars () {
82+ set +x
8283 local arg_list=" $1 "
8384 local ver=$2
8485 local type=$3
@@ -138,8 +139,14 @@ dl_emu() {
138139
139140setup_emu () {
140141 local avd_pkg=$1
142+ local ver=$2
141143 dl_emu $avd_pkg
142144 echo no | " $avd " create avd -f -n test -k $avd_pkg
145+
146+ # avdmanager is outdated, it might not set the proper target
147+ local ini=$ANDROID_AVD_HOME /test.ini
148+ sed " s:^target\s*=.*:target=android-$ver :g" $ini > $ini .new
149+ mv $ini .new $ini
143150}
144151
145152test_emu () {
@@ -169,16 +176,15 @@ test_emu() {
169176}
170177
171178test_main () {
172- local avd_pkg ramdisk vars
173- vars=$( resolve_vars " emu_args avd_pkg ramdisk" $1 $2 )
174- eval $vars
179+ local ver avd_pkg ramdisk
180+ eval $( resolve_vars " ver avd_pkg ramdisk" $1 $2 )
175181
176182 # Specify an explicit port so that tests can run with other emulators running at the same time
177183 local emu_port=5682
178184 emu_args=" $emu_args -port $emu_port "
179185 export ANDROID_SERIAL=" emulator-$emu_port "
180186
181- setup_emu " $avd_pkg "
187+ setup_emu " $avd_pkg " $ver
182188
183189 # Restart ADB daemon just in case
184190 adb kill-server
@@ -211,24 +217,21 @@ test_main() {
211217 test_emu release
212218 fi
213219
214- # Cleanup
215- rm -f magisk_* .img
216- " $avd " delete avd -n test
220+ cleanup
217221}
218222
219223run_main () {
220- local avd_pkg vars
221- vars=$( resolve_vars " emu_args avd_pkg" $1 $2 )
222- eval $vars
223- setup_emu " $avd_pkg "
224+ local ver avd_pkg
225+ eval $( resolve_vars " ver avd_pkg" $1 $2 )
226+ setup_emu " $avd_pkg " $ver
224227 print_title " * Launching $avd_pkg "
225228 " $emu " @test $emu_args 2> /dev/null
229+ cleanup
226230}
227231
228232dl_main () {
229- local avd_pkg vars
230- vars=$( resolve_vars " avd_pkg" $1 $2 )
231- eval $vars
233+ local avd_pkg
234+ eval $( resolve_vars " avd_pkg" $1 $2 )
232235 print_title " * Downloading $avd_pkg "
233236 dl_emu " $avd_pkg "
234237}
0 commit comments