@@ -37,7 +37,7 @@ describe('Android platform instance', () => {
3737 . mockResolvedValue ( '/tmp/android-sdk' ) ;
3838 vi . spyOn ( adb , 'getDeviceIds' ) . mockResolvedValue ( [ 'emulator-5554' ] ) ;
3939 vi . spyOn ( adb , 'getEmulatorName' ) . mockResolvedValue ( 'Pixel_8_API_35' ) ;
40- vi . spyOn ( adb , 'waitForBoot' ) . mockResolvedValue ( undefined ) ;
40+ vi . spyOn ( adb , 'waitForBoot' ) . mockResolvedValue ( 'emulator-5554' ) ;
4141 vi . spyOn ( adb , 'isAppInstalled' ) . mockResolvedValue ( true ) ;
4242 vi . spyOn ( adb , 'reversePort' ) . mockResolvedValue ( undefined ) ;
4343 vi . spyOn ( adb , 'setHideErrorDialogs' ) . mockResolvedValue ( undefined ) ;
@@ -88,8 +88,7 @@ describe('Android platform instance', () => {
8888 const startEmulator = vi
8989 . spyOn ( adb , 'startEmulator' )
9090 . mockResolvedValue ( undefined ) ;
91- vi . spyOn ( adb , 'waitForEmulator' ) . mockResolvedValue ( 'emulator-5554' ) ;
92- vi . spyOn ( adb , 'waitForBoot' ) . mockResolvedValue ( undefined ) ;
91+ vi . spyOn ( adb , 'waitForBoot' ) . mockResolvedValue ( 'emulator-5554' ) ;
9392 vi . spyOn ( adb , 'isAppInstalled' ) . mockResolvedValue ( true ) ;
9493 vi . spyOn ( adb , 'reversePort' ) . mockResolvedValue ( undefined ) ;
9594 vi . spyOn ( adb , 'setHideErrorDialogs' ) . mockResolvedValue ( undefined ) ;
@@ -150,8 +149,7 @@ describe('Android platform instance', () => {
150149 const startEmulator = vi
151150 . spyOn ( adb , 'startEmulator' )
152151 . mockResolvedValue ( undefined ) ;
153- vi . spyOn ( adb , 'waitForEmulator' ) . mockResolvedValue ( 'emulator-5554' ) ;
154- vi . spyOn ( adb , 'waitForBoot' ) . mockResolvedValue ( undefined ) ;
152+ vi . spyOn ( adb , 'waitForBoot' ) . mockResolvedValue ( 'emulator-5554' ) ;
155153 vi . spyOn ( adb , 'isAppInstalled' ) . mockResolvedValue ( true ) ;
156154 vi . spyOn ( adb , 'reversePort' ) . mockResolvedValue ( undefined ) ;
157155 vi . spyOn ( adb , 'setHideErrorDialogs' ) . mockResolvedValue ( undefined ) ;
@@ -196,15 +194,14 @@ describe('Android platform instance', () => {
196194 vi . spyOn ( adb , 'getDeviceIds' ) . mockResolvedValue ( [ ] ) ;
197195 vi . spyOn ( adb , 'hasAvd' ) . mockResolvedValue ( true ) ;
198196 vi . spyOn ( avdConfig , 'readAvdConfig' ) . mockResolvedValue ( {
199- imageSysdir1 : 'system-images/android-35/default/x86_64 /' ,
200- abiType : 'x86_64 ' ,
197+ imageSysdir1 : 'system-images/android-35/default/arm64-v8a /' ,
198+ abiType : 'arm64-v8a ' ,
201199 hwDeviceName : 'pixel_8' ,
202200 diskDataPartitionSize : '1G' ,
203201 vmHeapSize : '1G' ,
204202 } ) ;
205203 vi . spyOn ( adb , 'startEmulator' ) . mockResolvedValue ( undefined ) ;
206- vi . spyOn ( adb , 'waitForEmulator' ) . mockResolvedValue ( 'emulator-5554' ) ;
207- vi . spyOn ( adb , 'waitForBoot' ) . mockResolvedValue ( undefined ) ;
204+ vi . spyOn ( adb , 'waitForBoot' ) . mockResolvedValue ( 'emulator-5554' ) ;
208205 vi . spyOn ( adb , 'isAppInstalled' ) . mockResolvedValue ( true ) ;
209206 vi . spyOn ( adb , 'reversePort' ) . mockResolvedValue ( undefined ) ;
210207 vi . spyOn ( adb , 'setHideErrorDialogs' ) . mockResolvedValue ( undefined ) ;
@@ -261,9 +258,11 @@ describe('Android platform instance', () => {
261258 const deleteAvd = vi . spyOn ( adb , 'deleteAvd' ) . mockResolvedValue ( undefined ) ;
262259 const createAvd = vi . spyOn ( adb , 'createAvd' ) . mockResolvedValue ( undefined ) ;
263260 vi . spyOn ( adb , 'startEmulator' ) . mockResolvedValue ( undefined ) ;
264- vi . spyOn ( adb , 'waitForEmulator' ) . mockResolvedValue ( 'emulator-5554' ) ;
265- vi . spyOn ( adb , 'waitForBoot' ) . mockResolvedValue ( undefined ) ;
261+ vi . spyOn ( adb , 'waitForBoot' ) . mockResolvedValue ( 'emulator-5554' ) ;
266262 const stopEmulator = vi . spyOn ( adb , 'stopEmulator' ) . mockResolvedValue ( ) ;
263+ const waitForEmulatorDisconnect = vi
264+ . spyOn ( adb , 'waitForEmulatorDisconnect' )
265+ . mockResolvedValue ( undefined ) ;
267266 vi . spyOn ( adb , 'isAppInstalled' ) . mockResolvedValue ( true ) ;
268267 vi . spyOn ( adb , 'reversePort' ) . mockResolvedValue ( undefined ) ;
269268 vi . spyOn ( adb , 'setHideErrorDialogs' ) . mockResolvedValue ( undefined ) ;
@@ -298,6 +297,10 @@ describe('Android platform instance', () => {
298297 expect ( deleteAvd ) . toHaveBeenCalledWith ( 'Pixel_8_API_35' ) ;
299298 expect ( createAvd ) . toHaveBeenCalled ( ) ;
300299 expect ( stopEmulator ) . toHaveBeenCalledWith ( 'emulator-5554' ) ;
300+ expect ( waitForEmulatorDisconnect ) . toHaveBeenCalledWith (
301+ 'emulator-5554' ,
302+ init . signal
303+ ) ;
301304 expect ( adb . startEmulator ) . toHaveBeenNthCalledWith (
302305 1 ,
303306 'Pixel_8_API_35' ,
@@ -306,7 +309,7 @@ describe('Android platform instance', () => {
306309 expect ( adb . startEmulator ) . toHaveBeenNthCalledWith (
307310 2 ,
308311 'Pixel_8_API_35' ,
309- 'default-boot '
312+ 'snapshot-reuse '
310313 ) ;
311314 } ) ;
312315
@@ -322,9 +325,11 @@ describe('Android platform instance', () => {
322325 const startEmulator = vi
323326 . spyOn ( adb , 'startEmulator' )
324327 . mockResolvedValue ( undefined ) ;
325- vi . spyOn ( adb , 'waitForEmulator' ) . mockResolvedValue ( 'emulator-5554' ) ;
326- vi . spyOn ( adb , 'waitForBoot' ) . mockResolvedValue ( undefined ) ;
328+ vi . spyOn ( adb , 'waitForBoot' ) . mockResolvedValue ( 'emulator-5554' ) ;
327329 const stopEmulator = vi . spyOn ( adb , 'stopEmulator' ) . mockResolvedValue ( ) ;
330+ const waitForEmulatorDisconnect = vi
331+ . spyOn ( adb , 'waitForEmulatorDisconnect' )
332+ . mockResolvedValue ( undefined ) ;
328333 vi . spyOn ( adb , 'isAppInstalled' ) . mockResolvedValue ( true ) ;
329334 vi . spyOn ( adb , 'reversePort' ) . mockResolvedValue ( undefined ) ;
330335 vi . spyOn ( adb , 'setHideErrorDialogs' ) . mockResolvedValue ( undefined ) ;
@@ -362,10 +367,14 @@ describe('Android platform instance', () => {
362367 'clean-snapshot-generation'
363368 ) ;
364369 expect ( stopEmulator ) . toHaveBeenCalledWith ( 'emulator-5554' ) ;
370+ expect ( waitForEmulatorDisconnect ) . toHaveBeenCalledWith (
371+ 'emulator-5554' ,
372+ init . signal
373+ ) ;
365374 expect ( startEmulator ) . toHaveBeenNthCalledWith (
366375 2 ,
367376 'Pixel_8_API_35' ,
368- 'default-boot '
377+ 'snapshot-reuse '
369378 ) ;
370379 } ) ;
371380
@@ -379,7 +388,7 @@ describe('Android platform instance', () => {
379388 ) . mockResolvedValue ( '/tmp/android-sdk' ) ;
380389 vi . spyOn ( adb , 'getDeviceIds' ) . mockResolvedValue ( [ 'emulator-5554' ] ) ;
381390 vi . spyOn ( adb , 'getEmulatorName' ) . mockResolvedValue ( 'Pixel_8_API_35' ) ;
382- vi . spyOn ( adb , 'waitForBoot' ) . mockResolvedValue ( undefined ) ;
391+ vi . spyOn ( adb , 'waitForBoot' ) . mockResolvedValue ( 'emulator-5554' ) ;
383392 vi . spyOn ( adb , 'isAppInstalled' ) . mockResolvedValue ( false ) ;
384393 const installApp = vi . spyOn ( adb , 'installApp' ) . mockResolvedValue ( undefined ) ;
385394 vi . spyOn ( adb , 'reversePort' ) . mockResolvedValue ( undefined ) ;
@@ -419,7 +428,7 @@ describe('Android platform instance', () => {
419428 it ( 'throws a HarnessAppPathError when HARNESS_APP_PATH is missing' , async ( ) => {
420429 vi . spyOn ( adb , 'getDeviceIds' ) . mockResolvedValue ( [ 'emulator-5554' ] ) ;
421430 vi . spyOn ( adb , 'getEmulatorName' ) . mockResolvedValue ( 'Pixel_8_API_35' ) ;
422- vi . spyOn ( adb , 'waitForBoot' ) . mockResolvedValue ( undefined ) ;
431+ vi . spyOn ( adb , 'waitForBoot' ) . mockResolvedValue ( 'emulator-5554' ) ;
423432 vi . spyOn ( adb , 'isAppInstalled' ) . mockResolvedValue ( false ) ;
424433
425434 await expect (
@@ -449,7 +458,7 @@ describe('Android platform instance', () => {
449458 vi . stubEnv ( 'HARNESS_APP_PATH' , '/tmp/missing.apk' ) ;
450459 vi . spyOn ( adb , 'getDeviceIds' ) . mockResolvedValue ( [ 'emulator-5554' ] ) ;
451460 vi . spyOn ( adb , 'getEmulatorName' ) . mockResolvedValue ( 'Pixel_8_API_35' ) ;
452- vi . spyOn ( adb , 'waitForBoot' ) . mockResolvedValue ( undefined ) ;
461+ vi . spyOn ( adb , 'waitForBoot' ) . mockResolvedValue ( 'emulator-5554' ) ;
453462 vi . spyOn ( adb , 'isAppInstalled' ) . mockResolvedValue ( false ) ;
454463
455464 await expect (
0 commit comments