qemu-iotests: use context managers for resource cleanup in 194
Switch from atexit.register() to a more elegant idiom of declaring
resources in a with statement:
  with FilePath('monitor.sock') as monitor_path,
       VM() as vm:
      ...
The files and VMs will be automatically cleaned up whether the test
passes or fails.
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-id: 20170824072202.26818-4-stefanha@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
			
			
This commit is contained in:
		
							parent
							
								
									f4844ac0ad
								
							
						
					
					
						commit
						921a32179b
					
				| 
						 | 
				
			
			@ -19,28 +19,27 @@
 | 
			
		|||
#
 | 
			
		||||
# Non-shared storage migration test using NBD server and drive-mirror
 | 
			
		||||
 | 
			
		||||
import os
 | 
			
		||||
import atexit
 | 
			
		||||
import iotests
 | 
			
		||||
 | 
			
		||||
iotests.verify_platform(['linux'])
 | 
			
		||||
 | 
			
		||||
with iotests.FilePath('source.img') as source_img_path, \
 | 
			
		||||
     iotests.FilePath('dest.img') as dest_img_path, \
 | 
			
		||||
     iotests.FilePath('migration.sock') as migration_sock_path, \
 | 
			
		||||
     iotests.FilePath('nbd.sock') as nbd_sock_path, \
 | 
			
		||||
     iotests.VM('source') as source_vm, \
 | 
			
		||||
     iotests.VM('dest') as dest_vm:
 | 
			
		||||
 | 
			
		||||
    img_size = '1G'
 | 
			
		||||
source_img_path = os.path.join(iotests.test_dir, 'source.img')
 | 
			
		||||
dest_img_path = os.path.join(iotests.test_dir, 'dest.img')
 | 
			
		||||
    iotests.qemu_img_pipe('create', '-f', iotests.imgfmt, source_img_path, img_size)
 | 
			
		||||
    iotests.qemu_img_pipe('create', '-f', iotests.imgfmt, dest_img_path, img_size)
 | 
			
		||||
 | 
			
		||||
    iotests.log('Launching VMs...')
 | 
			
		||||
migration_sock_path = os.path.join(iotests.test_dir, 'migration.sock')
 | 
			
		||||
nbd_sock_path = os.path.join(iotests.test_dir, 'nbd.sock')
 | 
			
		||||
source_vm = iotests.VM('source').add_drive(source_img_path)
 | 
			
		||||
dest_vm = (iotests.VM('dest').add_drive(dest_img_path)
 | 
			
		||||
                             .add_incoming('unix:{0}'.format(migration_sock_path)))
 | 
			
		||||
source_vm.launch()
 | 
			
		||||
atexit.register(source_vm.shutdown)
 | 
			
		||||
dest_vm.launch()
 | 
			
		||||
atexit.register(dest_vm.shutdown)
 | 
			
		||||
    (source_vm.add_drive(source_img_path)
 | 
			
		||||
              .launch())
 | 
			
		||||
    (dest_vm.add_drive(dest_img_path)
 | 
			
		||||
            .add_incoming('unix:{0}'.format(migration_sock_path))
 | 
			
		||||
            .launch())
 | 
			
		||||
 | 
			
		||||
    iotests.log('Launching NBD server on destination...')
 | 
			
		||||
    iotests.log(dest_vm.qmp('nbd-server-start', addr={'type': 'unix', 'data': {'path': nbd_sock_path}}))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue