@@ -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 () {
@@ -76,6 +76,8 @@ dump_vars() {
7676 eval val=\$ $name
7777 echo $name =\" $val \"\;
7878 done
79+ # Always dump emu_args
80+ echo emu_args=\" $emu_args \"\;
7981}
8082
8183resolve_vars () {
@@ -138,8 +140,14 @@ dl_emu() {
138140
139141setup_emu () {
140142 local avd_pkg=$1
143+ local ver=$2
141144 dl_emu $avd_pkg
142145 echo no | " $avd " create avd -f -n test -k $avd_pkg
146+
147+ # avdmanager is outdated, it might not set the proper target
148+ local ini=$ANDROID_AVD_HOME /test.ini
149+ sed " s:^target\s*=.*:target=android-$ver :g" $ini > $ini .new
150+ mv $ini .new $ini
143151}
144152
145153test_emu () {
@@ -169,16 +177,15 @@ test_emu() {
169177}
170178
171179test_main () {
172- local avd_pkg ramdisk vars
173- vars=$( resolve_vars " emu_args avd_pkg ramdisk" $1 $2 )
174- eval $vars
180+ local ver avd_pkg ramdisk
181+ eval $( resolve_vars " ver avd_pkg ramdisk" $1 $2 )
175182
176183 # Specify an explicit port so that tests can run with other emulators running at the same time
177184 local emu_port=5682
178185 emu_args=" $emu_args -port $emu_port "
179186 export ANDROID_SERIAL=" emulator-$emu_port "
180187
181- setup_emu " $avd_pkg "
188+ setup_emu " $avd_pkg " $ver
182189
183190 # Restart ADB daemon just in case
184191 adb kill-server
@@ -211,24 +218,21 @@ test_main() {
211218 test_emu release
212219 fi
213220
214- # Cleanup
215- rm -f magisk_* .img
216- " $avd " delete avd -n test
221+ cleanup
217222}
218223
219224run_main () {
220- local avd_pkg vars
221- vars=$( resolve_vars " emu_args avd_pkg" $1 $2 )
222- eval $vars
223- setup_emu " $avd_pkg "
225+ local ver avd_pkg
226+ eval $( resolve_vars " ver avd_pkg" $1 $2 )
227+ setup_emu " $avd_pkg " $ver
224228 print_title " * Launching $avd_pkg "
225229 " $emu " @test $emu_args 2> /dev/null
230+ cleanup
226231}
227232
228233dl_main () {
229- local avd_pkg vars
230- vars=$( resolve_vars " avd_pkg" $1 $2 )
231- eval $vars
234+ local avd_pkg
235+ eval $( resolve_vars " avd_pkg" $1 $2 )
232236 print_title " * Downloading $avd_pkg "
233237 dl_emu " $avd_pkg "
234238}
0 commit comments