[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-block] [PATCH v3 5/5] iotests: Add test cases for blockdev-mir
From: |
Max Reitz |
Subject: |
Re: [Qemu-block] [PATCH v3 5/5] iotests: Add test cases for blockdev-mirror |
Date: |
Thu, 24 Dec 2015 02:06:52 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.4.0 |
On 23.12.2015 06:59, Fam Zheng wrote:
> Signed-off-by: Fam Zheng <address@hidden>
> ---
> tests/qemu-iotests/041 | 100
> ++++++++++++++++++++++++++++++++++-----------
> tests/qemu-iotests/041.out | 4 +-
> 2 files changed, 79 insertions(+), 25 deletions(-)
Reviewed-by: Max Reitz <address@hidden>
Some comments below.
> diff --git a/tests/qemu-iotests/041 b/tests/qemu-iotests/041
> index 05b5962..bcdefb2 100755
> --- a/tests/qemu-iotests/041
> +++ b/tests/qemu-iotests/041
[...]
> @@ -172,30 +174,82 @@ class TestSingleDrive(iotests.QMPTestCase):
> if iotests.qemu_default_machine != 'pc':
> return
>
> - result = self.vm.qmp('drive-mirror', device='drive1', # CD-ROM
> - sync='full', target=target_img)
> - self.assert_qmp(result, 'error/class', 'GenericError')
> + result = self.vm.qmp(self.qmp_cmd, device='ide1-cd0', sync='full',
> + target=self.qmp_target)
> + self.assert_qmp(result, 'error/class', self.not_found_error)
>
> def test_image_not_found(self):
> - result = self.vm.qmp('drive-mirror', device='drive0', sync='full',
> - mode='existing', target=target_img)
> + result = self.vm.qmp(self.qmp_cmd, device='drive0', sync='full',
> + mode='existing', target=self.qmp_target)
> self.assert_qmp(result, 'error/class', 'GenericError')
>
> def test_device_not_found(self):
> - result = self.vm.qmp('drive-mirror', device='nonexistent',
> sync='full',
> - target=target_img)
> - self.assert_qmp(result, 'error/class', 'DeviceNotFound')
> + result = self.vm.qmp(self.qmp_cmd, device='nonexistent', sync='full',
> + target=self.qmp_target)
> + self.assert_qmp(result, 'error/class', self.not_found_error)
> +
> +class TestSingleBlockdev(TestSingleDrive):
> + qmp_cmd = 'blockdev-mirror'
> + qmp_target = 'node1'
> + not_found_error = 'GenericError'
> +
> + def setUp(self):
> + TestSingleDrive.setUp(self)
> + qemu_img('create', '-f', iotests.imgfmt, '-o', 'backing_file=%s' %
> backing_img, target_img)
> + args = {'options':
> + {'driver': iotests.imgfmt,
> + 'node-name': 'node1',
Could be qmp_target instead.
> + 'file': { 'filename': target_img, 'driver': 'file' } } }
> + result = self.vm.qmp("blockdev-add", **args)
> + self.assert_qmp(result, 'return', {})
> +
> + test_large_cluster = None
> + test_image_not_found = None
> + test_small_buffer2 = None
> +
> +class TestBlockdevAttached(iotests.QMPTestCase):
> + image_len = 1 * 1024 * 1024 # MB
> +
> + def setUp(self):
> + iotests.create_image(backing_img, self.image_len)
> + qemu_img('create', '-f', iotests.imgfmt, '-o', 'backing_file=%s' %
> backing_img, test_img)
> + qemu_img('create', '-f', iotests.imgfmt, '-o', 'backing_file=%s' %
> backing_img, target_img)
> + self.vm = iotests.VM().add_drive(test_img)
> + self.vm.launch()
> +
> + def tearDown(self):
> + self.vm.shutdown()
> + os.remove(test_img)
> + os.remove(target_img)
> +
> + def test_blockdev_attached(self):
> + self.assert_no_active_block_jobs()
> + args = {'options':
> + {'driver': iotests.imgfmt,
> + "id": "drive1",
The double quotes look a bit out of place.
> + 'file': { 'filename': target_img, 'driver': 'file' } } }
> + result = self.vm.qmp("blockdev-add", **args)
> + self.assert_qmp(result, 'return', {})
> + result = self.vm.qmp('blockdev-mirror', device='drive0', sync='full',
> + target='drive1')
> + self.assert_qmp(result, 'error/class', 'GenericError')
>
> class TestSingleDriveZeroLength(TestSingleDrive):
> image_len = 0
> test_small_buffer2 = None
> test_large_cluster = None
>
> +class TestSingleBlockdevZeroLength(TestSingleBlockdev):
> + image_len = 0
> +
> class TestSingleDriveUnalignedLength(TestSingleDrive):
> image_len = 1025 * 1024
> test_small_buffer2 = None
> test_large_cluster = None
>
> +class TestSingleBlockdevUnalignedLength(TestSingleBlockdev):
> + image_len = 1025 * 1024
> +
> class TestMirrorNoBacking(iotests.QMPTestCase):
> image_len = 2 * 1024 * 1024 # MB
>
> diff --git a/tests/qemu-iotests/041.out b/tests/qemu-iotests/041.out
> index 24093bc..b67d050 100644
> --- a/tests/qemu-iotests/041.out
> +++ b/tests/qemu-iotests/041.out
> @@ -1,5 +1,5 @@
> -......................................................
> +............................................................................
> ----------------------------------------------------------------------
> -Ran 54 tests
> +Ran 76 tests
>
> OK
>
signature.asc
Description: OpenPGP digital signature
- [Qemu-block] [PATCH v3 0/5] qmp: Add blockdev-mirror, Fam Zheng, 2015/12/23
- [Qemu-block] [PATCH v3 1/5] block: Rename BLOCK_OP_TYPE_MIRROR to BLOCK_OP_TYPE_MIRROR_SOURCE, Fam Zheng, 2015/12/23
- [Qemu-block] [PATCH v3 2/5] block: Extract blockdev part of qmp_drive_mirror, Fam Zheng, 2015/12/23
- [Qemu-block] [PATCH v3 3/5] block: Add check on mirror target, Fam Zheng, 2015/12/23
- [Qemu-block] [PATCH v3 4/5] qmp: Add blockdev-mirror command, Fam Zheng, 2015/12/23
- [Qemu-block] [PATCH v3 5/5] iotests: Add test cases for blockdev-mirror, Fam Zheng, 2015/12/23
- Re: [Qemu-block] [PATCH v3 5/5] iotests: Add test cases for blockdev-mirror,
Max Reitz <=
- Re: [Qemu-block] [PATCH v3 0/5] qmp: Add blockdev-mirror, Max Reitz, 2015/12/23