Revision 3cf53c77 tests/qemu-iotests/iotests.py

b/tests/qemu-iotests/iotests.py
107 107
        self._num_drives += 1
108 108
        return self
109 109

  
110
    def pause_drive(self, drive, event=None):
111
        '''Pause drive r/w operations'''
112
        if not event:
113
            self.pause_drive(drive, "read_aio")
114
            self.pause_drive(drive, "write_aio")
115
            return
116
        self.qmp('human-monitor-command',
117
                    command_line='qemu-io %s "break %s bp_%s"' % (drive, event, drive))
118

  
119
    def resume_drive(self, drive):
120
        self.qmp('human-monitor-command',
121
                    command_line='qemu-io %s "remove_break bp_%s"' % (drive, drive))
122

  
110 123
    def hmp_qemu_io(self, drive, cmd):
111 124
        '''Write to a given drive using an HMP command'''
112 125
        return self.qmp('human-monitor-command',
......
222 235
        result = self.vm.qmp('query-block-jobs')
223 236
        self.assert_qmp(result, 'return', [])
224 237

  
225
    def cancel_and_wait(self, drive='drive0', force=False):
238
    def cancel_and_wait(self, drive='drive0', force=False, resume=False):
226 239
        '''Cancel a block job and wait for it to finish, returning the event'''
227 240
        result = self.vm.qmp('block-job-cancel', device=drive, force=force)
228 241
        self.assert_qmp(result, 'return', {})
229 242

  
243
        if resume:
244
            self.vm.resume_drive(drive)
245

  
230 246
        cancelled = False
231 247
        result = None
232 248
        while not cancelled:

Also available in: Unified diff