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 a new issue