The test on sectors not allocated can fail if the L1/L2 tables are not on disk yet. Allow tests to shutdown the VM early.
Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> --- tests/qemu-iotests/030 | 1 + tests/qemu-iotests/iotests.py | 10 ++++++---- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/tests/qemu-iotests/030 b/tests/qemu-iotests/030 index 1faf984..3efb6cd 100755 --- a/tests/qemu-iotests/030 +++ b/tests/qemu-iotests/030 @@ -63,6 +63,7 @@ class TestSingleDrive(ImageStreamingTestCase): completed = True self.assert_no_active_streams() + self.vm.shutdown() self.assertFalse('sectors not allocated' in qemu_io('-c', 'map', test_img), 'image file not fully populated after streaming') diff --git a/tests/qemu-iotests/iotests.py b/tests/qemu-iotests/iotests.py index 36787cc..e27b40e 100644 --- a/tests/qemu-iotests/iotests.py +++ b/tests/qemu-iotests/iotests.py @@ -87,10 +87,12 @@ class VM(object): def shutdown(self): '''Terminate the VM and clean up''' - self._qmp.cmd('quit') - self._popen.wait() - os.remove(self._monitor_path) - os.remove(self._qemu_log_path) + if not self._popen is None: + self._qmp.cmd('quit') + self._popen.wait() + os.remove(self._monitor_path) + os.remove(self._qemu_log_path) + self._popen = None def qmp(self, cmd, **args): '''Invoke a QMP command and return the result dict''' -- 1.7.9.3