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')
>