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 <mre...@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") + + 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') -- 2.29.2