[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 11/11] qemu-iotests: test overlapping block-stre
From: |
Fam Zheng |
Subject: |
Re: [Qemu-devel] [PATCH 11/11] qemu-iotests: test overlapping block-stream operations |
Date: |
Fri, 15 May 2015 10:56:09 +0800 |
User-agent: |
Mutt/1.5.23 (2014-03-12) |
On Wed, 05/13 16:27, Alberto Garcia wrote:
> This test case checks that it's not possible to perform two
> block-stream operations if there are nodes involved in both.
>
> Signed-off-by: Alberto Garcia <address@hidden>
> Reviewed-by: Max Reitz <address@hidden>
> ---
> tests/qemu-iotests/030 | 27 +++++++++++++++++++++++++++
> tests/qemu-iotests/030.out | 4 ++--
> 2 files changed, 29 insertions(+), 2 deletions(-)
>
> diff --git a/tests/qemu-iotests/030 b/tests/qemu-iotests/030
> index c199cef..f898c92 100755
> --- a/tests/qemu-iotests/030
> +++ b/tests/qemu-iotests/030
> @@ -225,6 +225,33 @@ class TestParallelOps(iotests.QMPTestCase):
> qemu_io('-f', iotests.imgfmt, '-c', 'map',
> self.imgs[i-1]),
> 'image file map does not match backing file
> after streaming')
>
> + # Test that it's not possible to perform two block-stream
> + # operations if there are nodes involved in both.
> + def test_stream_overlapping(self):
> + self.assert_no_active_block_jobs()
> +
> + # Set a speed limit to make sure that this job blocks the rest
> + result = self.vm.qmp('block-stream', device='node4',
> base=self.imgs[0], speed=32768)
> + self.assert_qmp(result, 'return', {})
> +
> + result = self.vm.qmp('block-stream', device='node5',
> base=self.imgs[1])
> + self.assert_qmp(result, 'error/class', 'GenericError')
> +
> + result = self.vm.qmp('block-stream', device='node3',
> base=self.imgs[2])
> + self.assert_qmp(result, 'error/class', 'GenericError')
> +
> + result = self.vm.qmp('block-stream', device='node4')
> + self.assert_qmp(result, 'error/class', 'GenericError')
> +
> + # If node4 is the active node, the id of the block job is drive0
> + if self.num_imgs == 5:
Isn't self.num_imgs a constant (9) ?
Fam
> + self.wait_until_completed(drive='drive0')
> + else:
> + self.wait_until_completed(drive='node4')
> + self.assert_no_active_block_jobs()
> +
> + self.vm.shutdown()
> +
> class TestSmallerBackingFile(iotests.QMPTestCase):
> backing_len = 1 * 1024 * 1024 # MB
> image_len = 2 * backing_len
> diff --git a/tests/qemu-iotests/030.out b/tests/qemu-iotests/030.out
> index b6f2576..52d796e 100644
> --- a/tests/qemu-iotests/030.out
> +++ b/tests/qemu-iotests/030.out
> @@ -1,5 +1,5 @@
> -................
> +.................
> ----------------------------------------------------------------------
> -Ran 16 tests
> +Ran 17 tests
>
> OK
> --
> 2.1.4
>
>
[Qemu-devel] [PATCH 02/11] block: allow block jobs in any arbitrary node, Alberto Garcia, 2015/05/13
[Qemu-devel] [PATCH 10/11] qemu-iotests: test block-stream operations in parallel, Alberto Garcia, 2015/05/13
[Qemu-devel] [PATCH 03/11] block: never cancel a streaming job without running stream_complete(), Alberto Garcia, 2015/05/13