]> git.ipfire.org Git - thirdparty/qemu.git/commitdiff
iotests: Use event_wait in wait_ready
authorFam Zheng <famz@redhat.com>
Mon, 8 Jun 2015 05:56:14 +0000 (13:56 +0800)
committerMichael Roth <mdroth@linux.vnet.ibm.com>
Thu, 30 Jul 2015 02:46:08 +0000 (21:46 -0500)
Only poll the specific type of event we are interested in, to avoid
stealing events that should be consumed by someone else.

Suggested-by: John Snow <jsnow@redhat.com>
Signed-off-by: Fam Zheng <famz@redhat.com>
Reviewed-by: John Snow <jsnow@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
(cherry picked from commit d7b25297920d18fa2a2cde1ed21fde38a88c935f)
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
tests/qemu-iotests/iotests.py

index b1d0c51c39a8fea87ba8ae60e30d7846c22c4e72..05909da95fe2c165cda93e88d7aa6cd6180a1b7d 100644 (file)
@@ -290,13 +290,8 @@ class QMPTestCase(unittest.TestCase):
 
     def wait_ready(self, drive='drive0'):
         '''Wait until a block job BLOCK_JOB_READY event'''
-        ready = False
-        while not ready:
-            for event in self.vm.get_qmp_events(wait=True):
-                if event['event'] == 'BLOCK_JOB_READY':
-                    self.assert_qmp(event, 'data/type', 'mirror')
-                    self.assert_qmp(event, 'data/device', drive)
-                    ready = True
+        f = {'data': {'type': 'mirror', 'device': drive } }
+        event = self.vm.event_wait(name='BLOCK_JOB_READY', match=f)
 
     def wait_ready_and_cancel(self, drive='drive0'):
         self.wait_ready(drive=drive)