| From a5bf39550e82dbbe18f8debe07fa5d968a3fcf51 Mon Sep 17 00:00:00 2001 |
| From: Kevin Wolf <kwolf@redhat.com> |
| Date: Wed, 3 Jun 2020 16:03:17 +0100 |
| Subject: [PATCH 18/26] iotests/055: refactor compressed backup to vmdk |
| |
| RH-Author: Kevin Wolf <kwolf@redhat.com> |
| Message-id: <20200603160325.67506-4-kwolf@redhat.com> |
| Patchwork-id: 97104 |
| O-Subject: [RHEL-AV-8.2.1 qemu-kvm PATCH v2 03/11] iotests/055: refactor compressed backup to vmdk |
| Bugzilla: 1778593 |
| RH-Acked-by: Eric Blake <eblake@redhat.com> |
| RH-Acked-by: Max Reitz <mreitz@redhat.com> |
| RH-Acked-by: Stefano Garzarella <sgarzare@redhat.com> |
| |
| From: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> |
| |
| Instead of looping in each test, let's better refactor vmdk target case |
| as a subclass. |
| |
| Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> |
| Message-Id: <20200430124713.3067-6-vsementsov@virtuozzo.com> |
| Signed-off-by: Kevin Wolf <kwolf@redhat.com> |
| (cherry picked from commit 8e8372944e5e097e98844b4db10f867689065e16) |
| Signed-off-by: Kevin Wolf <kwolf@redhat.com> |
| Signed-off-by: Danilo C. L. de Paula <ddepaula@redhat.com> |
| |
| tests/qemu-iotests/055 | 70 ++++++++++++++++++++++++---------------------- |
| tests/qemu-iotests/055.out | 4 +-- |
| 2 files changed, 39 insertions(+), 35 deletions(-) |
| |
| diff --git a/tests/qemu-iotests/055 b/tests/qemu-iotests/055 |
| index eb50c9f..8666601 100755 |
| |
| |
| @@ -450,10 +450,9 @@ class TestSingleTransaction(iotests.QMPTestCase): |
| self.assert_no_active_block_jobs() |
| |
| |
| -class TestDriveCompression(iotests.QMPTestCase): |
| +class TestCompressedToQcow2(iotests.QMPTestCase): |
| image_len = 64 * 1024 * 1024 # MB |
| - fmt_supports_compression = [{'type': 'qcow2', 'args': ()}, |
| - {'type': 'vmdk', 'args': ('-o', 'subformat=streamOptimized')}] |
| + target_fmt = {'type': 'qcow2', 'args': ()} |
| |
| def tearDown(self): |
| self.vm.shutdown() |
| @@ -463,19 +462,20 @@ class TestDriveCompression(iotests.QMPTestCase): |
| except OSError: |
| pass |
| |
| - def do_prepare_drives(self, fmt, args, attach_target): |
| + def do_prepare_drives(self, attach_target): |
| self.vm = iotests.VM().add_drive('blkdebug::' + test_img) |
| |
| - qemu_img('create', '-f', fmt, blockdev_target_img, |
| - str(TestDriveCompression.image_len), *args) |
| + qemu_img('create', '-f', self.target_fmt['type'], blockdev_target_img, |
| + str(self.image_len), *self.target_fmt['args']) |
| if attach_target: |
| self.vm.add_drive(blockdev_target_img, |
| - img_format=fmt, interface="none") |
| + img_format=self.target_fmt['type'], |
| + interface="none") |
| |
| self.vm.launch() |
| |
| - def do_test_compress_complete(self, cmd, format, attach_target, **args): |
| - self.do_prepare_drives(format['type'], format['args'], attach_target) |
| + def do_test_compress_complete(self, cmd, attach_target, **args): |
| + self.do_prepare_drives(attach_target) |
| |
| self.assert_no_active_block_jobs() |
| |
| @@ -486,21 +486,21 @@ class TestDriveCompression(iotests.QMPTestCase): |
| |
| self.vm.shutdown() |
| self.assertTrue(iotests.compare_images(test_img, blockdev_target_img, |
| - iotests.imgfmt, format['type']), |
| + iotests.imgfmt, |
| + self.target_fmt['type']), |
| 'target image does not match source after backup') |
| |
| def test_complete_compress_drive_backup(self): |
| - for format in TestDriveCompression.fmt_supports_compression: |
| - self.do_test_compress_complete('drive-backup', format, False, |
| - target=blockdev_target_img, mode='existing') |
| + self.do_test_compress_complete('drive-backup', False, |
| + target=blockdev_target_img, |
| + mode='existing') |
| |
| def test_complete_compress_blockdev_backup(self): |
| - for format in TestDriveCompression.fmt_supports_compression: |
| - self.do_test_compress_complete('blockdev-backup', format, True, |
| - target='drive1') |
| + self.do_test_compress_complete('blockdev-backup', |
| + True, target='drive1') |
| |
| - def do_test_compress_cancel(self, cmd, format, attach_target, **args): |
| - self.do_prepare_drives(format['type'], format['args'], attach_target) |
| + def do_test_compress_cancel(self, cmd, attach_target, **args): |
| + self.do_prepare_drives(attach_target) |
| |
| self.assert_no_active_block_jobs() |
| |
| @@ -514,17 +514,16 @@ class TestDriveCompression(iotests.QMPTestCase): |
| self.vm.shutdown() |
| |
| def test_compress_cancel_drive_backup(self): |
| - for format in TestDriveCompression.fmt_supports_compression: |
| - self.do_test_compress_cancel('drive-backup', format, False, |
| - target=blockdev_target_img, mode='existing') |
| + self.do_test_compress_cancel('drive-backup', False, |
| + target=blockdev_target_img, |
| + mode='existing') |
| |
| def test_compress_cancel_blockdev_backup(self): |
| - for format in TestDriveCompression.fmt_supports_compression: |
| - self.do_test_compress_cancel('blockdev-backup', format, True, |
| - target='drive1') |
| + self.do_test_compress_cancel('blockdev-backup', True, |
| + target='drive1') |
| |
| - def do_test_compress_pause(self, cmd, format, attach_target, **args): |
| - self.do_prepare_drives(format['type'], format['args'], attach_target) |
| + def do_test_compress_pause(self, cmd, attach_target, **args): |
| + self.do_prepare_drives(attach_target) |
| |
| self.assert_no_active_block_jobs() |
| |
| @@ -550,18 +549,23 @@ class TestDriveCompression(iotests.QMPTestCase): |
| |
| self.vm.shutdown() |
| self.assertTrue(iotests.compare_images(test_img, blockdev_target_img, |
| - iotests.imgfmt, format['type']), |
| + iotests.imgfmt, |
| + self.target_fmt['type']), |
| 'target image does not match source after backup') |
| |
| def test_compress_pause_drive_backup(self): |
| - for format in TestDriveCompression.fmt_supports_compression: |
| - self.do_test_compress_pause('drive-backup', format, False, |
| - target=blockdev_target_img, mode='existing') |
| + self.do_test_compress_pause('drive-backup', False, |
| + target=blockdev_target_img, |
| + mode='existing') |
| |
| def test_compress_pause_blockdev_backup(self): |
| - for format in TestDriveCompression.fmt_supports_compression: |
| - self.do_test_compress_pause('blockdev-backup', format, True, |
| - target='drive1') |
| + self.do_test_compress_pause('blockdev-backup', True, |
| + target='drive1') |
| + |
| + |
| +class TestCompressedToVmdk(TestCompressedToQcow2): |
| + target_fmt = {'type': 'vmdk', 'args': ('-o', 'subformat=streamOptimized')} |
| + |
| |
| if __name__ == '__main__': |
| iotests.main(supported_fmts=['raw', 'qcow2'], |
| diff --git a/tests/qemu-iotests/055.out b/tests/qemu-iotests/055.out |
| index 5ce2f9a..5c26d15 100644 |
| |
| |
| @@ -1,5 +1,5 @@ |
| -.............................. |
| +.................................... |
| ---------------------------------------------------------------------- |
| -Ran 30 tests |
| +Ran 36 tests |
| |
| OK |
| -- |
| 1.8.3.1 |
| |