[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-trivial] [PATCH] block: Adds mirroring tests for resized image
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-trivial] [PATCH] block: Adds mirroring tests for resized images |
Date: |
Fri, 25 Jan 2013 23:42:49 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130110 Thunderbird/17.0.2 |
Il 25/01/2013 19:57, Vishvananda Ishaya ha scritto:
> This test verifies two mirroring issues are fixed with resized images:
>
> * sync='top' creates an image that is the proper size
> * sync='full' doesn't cause an assertion failure and crash qemu
> ---
> These are tests for my patches for the following bugs:
>
> https://bugs.launchpad.net/qemu/+bug/1103868
> https://bugs.launchpad.net/qemu/+bug/1103903
>
> tests/qemu-iotests/041 | 48
> ++++++++++++++++++++++++++++++++++++++++++++
> tests/qemu-iotests/041.out | 4 ++--
> 2 files changed, 50 insertions(+), 2 deletions(-)
>
> diff --git a/tests/qemu-iotests/041 b/tests/qemu-iotests/041
> index c6eb851..e7c004a 100755
> --- a/tests/qemu-iotests/041
> +++ b/tests/qemu-iotests/041
> @@ -292,6 +292,54 @@ class TestMirrorNoBacking(ImageMirroringTestCase):
> self.assertTrue(self.compare_images(test_img, target_img),
> 'target image does not match source after mirroring')
>
> +class TestMirrorResized(ImageMirroringTestCase):
> + backing_len = 1 * 1024 * 1024 # MB
> + image_len = 2 * 1024 * 1024 # MB
> +
> + def setUp(self):
> + self.create_image(backing_img, TestMirrorResized.backing_len)
> + qemu_img('create', '-f', iotests.imgfmt, '-o', 'backing_file=%s' %
> backing_img, test_img)
> + qemu_img('resize', test_img, '2M')
> + self.vm = iotests.VM().add_drive(test_img)
> + self.vm.launch()
> +
> + def tearDown(self):
> + self.vm.shutdown()
> + os.remove(test_img)
> + os.remove(backing_img)
> + try:
> + os.remove(target_img)
> + except OSError:
> + pass
> +
> + def test_complete_top(self):
> + self.assert_no_active_mirrors()
> +
> + result = self.vm.qmp('drive-mirror', device='drive0', sync='top',
> + target=target_img)
> + self.assert_qmp(result, 'return', {})
> +
> + self.complete_and_wait()
> + result = self.vm.qmp('query-block')
> + self.assert_qmp(result, 'return[0]/inserted/file', target_img)
> + self.vm.shutdown()
> + self.assertTrue(self.compare_images(test_img, target_img),
> + 'target image does not match source after mirroring')
> +
> + def test_complete_full(self):
> + self.assert_no_active_mirrors()
> +
> + result = self.vm.qmp('drive-mirror', device='drive0', sync='full',
> + target=target_img)
> + self.assert_qmp(result, 'return', {})
> +
> + self.complete_and_wait()
> + result = self.vm.qmp('query-block')
> + self.assert_qmp(result, 'return[0]/inserted/file', target_img)
> + self.vm.shutdown()
> + self.assertTrue(self.compare_images(test_img, target_img),
> + 'target image does not match source after mirroring')
> +
> class TestReadErrors(ImageMirroringTestCase):
> image_len = 2 * 1024 * 1024 # MB
>
> diff --git a/tests/qemu-iotests/041.out b/tests/qemu-iotests/041.out
> index 71009c2..3a89159 100644
> --- a/tests/qemu-iotests/041.out
> +++ b/tests/qemu-iotests/041.out
> @@ -1,5 +1,5 @@
> -..................
> +....................
> ----------------------------------------------------------------------
> -Ran 18 tests
> +Ran 20 tests
>
> OK
>
The patch doesn't apply to the block branch, but the conflicts should be
trivial.
Reviewed-by: Paolo Bonzini <address@hidden>
Paolo