Message ID | 20210409132948.195511-4-mreitz@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | job: Add job_wait_unpaused() for block-job-complete | expand |
On 09.04.21 15:29, Max Reitz wrote: > Expand test_pause() to check what happens when issuing > block-job-complete on a job that is on STANDBY because it has been > paused by the user. (This should be an error, and in particular not > hang job_wait_unpaused().) > > Signed-off-by: Max Reitz <mreitz@redhat.com> > --- > tests/qemu-iotests/041 | 13 ++++++++++++- > 1 file changed, 12 insertions(+), 1 deletion(-) > > diff --git a/tests/qemu-iotests/041 b/tests/qemu-iotests/041 > index 5cc02b24fc..d2c9669741 100755 > --- a/tests/qemu-iotests/041 > +++ b/tests/qemu-iotests/041 > @@ -120,7 +120,18 @@ class TestSingleDrive(iotests.QMPTestCase): > result = self.vm.qmp('block-job-resume', device='drive0') > self.assert_qmp(result, 'return', {}) > > - self.complete_and_wait() > + self.wait_ready() > + > + # Check that a job on STANDBY cannot be completed > + self.pause_job('drive0') > + result = self.vm.qmp('block-job-complete', device='drive0') > + self.assert_qmp(result, 'error/desc', > + "Job 'drive0' has been paused by the user") Oops. Should now be "Job 'drive0' has been paused and needs to be explicitly resumed" of course. Max > + > + result = self.vm.qmp('block-job-resume', device='drive0') > + self.assert_qmp(result, 'return', {}) > + > + self.complete_and_wait(wait_ready=False) > self.vm.shutdown() > self.assertTrue(iotests.compare_images(test_img, target_img), > 'target image does not match source after mirroring') >
diff --git a/tests/qemu-iotests/041 b/tests/qemu-iotests/041 index 5cc02b24fc..d2c9669741 100755 --- a/tests/qemu-iotests/041 +++ b/tests/qemu-iotests/041 @@ -120,7 +120,18 @@ class TestSingleDrive(iotests.QMPTestCase): result = self.vm.qmp('block-job-resume', device='drive0') self.assert_qmp(result, 'return', {}) - self.complete_and_wait() + self.wait_ready() + + # Check that a job on STANDBY cannot be completed + self.pause_job('drive0') + result = self.vm.qmp('block-job-complete', device='drive0') + self.assert_qmp(result, 'error/desc', + "Job 'drive0' has been paused by the user") + + result = self.vm.qmp('block-job-resume', device='drive0') + self.assert_qmp(result, 'return', {}) + + self.complete_and_wait(wait_ready=False) self.vm.shutdown() self.assertTrue(iotests.compare_images(test_img, target_img), 'target image does not match source after mirroring')
Expand test_pause() to check what happens when issuing block-job-complete on a job that is on STANDBY because it has been paused by the user. (This should be an error, and in particular not hang job_wait_unpaused().) Signed-off-by: Max Reitz <mreitz@redhat.com> --- tests/qemu-iotests/041 | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-)