@@ -323,17 +323,20 @@ func TestMicroVMExecution(t *testing.T) {
323
323
t .Run ("TestAttachSecondaryDrive" , func (t * testing.T ) { testAttachSecondaryDrive (ctx , t , m ) })
324
324
t .Run ("TestAttachVsock" , func (t * testing.T ) { testAttachVsock (ctx , t , m ) })
325
325
t .Run ("SetMetadata" , func (t * testing.T ) { testSetMetadata (ctx , t , m ) })
326
- t .Run ("TestUpdateGuestDrive" , func (t * testing.T ) { testUpdateGuestDrive (vmmCtx , t , m ) })
327
- t .Run ("TestStartInstance" , func (t * testing.T ) { testStartInstance (vmmCtx , t , m ) })
326
+ t .Run ("TestUpdateGuestDrive" , func (t * testing.T ) { testUpdateGuestDrive (ctx , t , m ) })
327
+ t .Run ("TestStartInstance" , func (t * testing.T ) { testStartInstance (ctx , t , m ) })
328
328
329
329
// Let the VMM start and stabilize...
330
330
timer := time .NewTimer (5 * time .Second )
331
331
select {
332
332
case <- timer .C :
333
- t .Run ("TestShutdown" , func (t * testing.T ) { testShutdown (vmmCtx , t , m ) })
333
+ t .Run ("TestShutdown" , func (t * testing.T ) { testShutdown (ctx , t , m ) })
334
334
case <- exitchannel :
335
335
// if we've already exited, there's no use waiting for the timer
336
336
}
337
+ // unconditionally stop the VM here. TestShutdown may have triggered a shutdown, but if it
338
+ // didn't for some reason, we still need to terminate it:
339
+ m .StopVMM ()
337
340
m .Wait (vmmCtx )
338
341
}
339
342
0 commit comments