diff mbox series

[20/67] iotests/055: Honor $IMGOPTS

Message ID 20191001194715.2796-21-mreitz@redhat.com (mailing list archive)
State New, archived
Headers show
Series iotests: Honor $IMGOPTS in Python tests | expand

Commit Message

Max Reitz Oct. 1, 2019, 7:46 p.m. UTC
Signed-off-by: Max Reitz <mreitz@redhat.com>
---
 tests/qemu-iotests/055 | 41 +++++++++++++++++++++++------------------
 1 file changed, 23 insertions(+), 18 deletions(-)
diff mbox series

Patch

diff --git a/tests/qemu-iotests/055 b/tests/qemu-iotests/055
index c732a112d6..e44f18570d 100755
--- a/tests/qemu-iotests/055
+++ b/tests/qemu-iotests/055
@@ -23,7 +23,7 @@ 
 import time
 import os
 import iotests
-from iotests import qemu_img, qemu_io
+from iotests import create_test_image, remove_test_image, qemu_io
 
 test_img = os.path.join(iotests.test_dir, 'test.img')
 target_img = os.path.join(iotests.test_dir, 'target.img')
@@ -32,7 +32,7 @@  blockdev_target_img = os.path.join(iotests.test_dir, 'blockdev-target.img')
 image_len = 64 * 1024 * 1024 # MB
 
 def setUpModule():
-    qemu_img('create', '-f', iotests.imgfmt, test_img, str(image_len))
+    create_test_image(test_img, image_len)
     qemu_io('-f', iotests.imgfmt, '-c', 'write -P0x11 0 64k', test_img)
     qemu_io('-f', iotests.imgfmt, '-c', 'write -P0x00 64k 128k', test_img)
     qemu_io('-f', iotests.imgfmt, '-c', 'write -P0x22 162k 32k', test_img)
@@ -41,12 +41,12 @@  def setUpModule():
     qemu_io('-f', iotests.imgfmt, '-c', 'write -P0x33 67043328 64k', test_img)
 
 def tearDownModule():
-    os.remove(test_img)
+    remove_test_image(test_img)
 
 
 class TestSingleDrive(iotests.QMPTestCase):
     def setUp(self):
-        qemu_img('create', '-f', iotests.imgfmt, blockdev_target_img, str(image_len))
+        create_test_image(blockdev_target_img, image_len)
 
         self.vm = iotests.VM().add_drive('blkdebug::' + test_img)
         self.vm.add_drive(blockdev_target_img, interface="none")
@@ -56,7 +56,7 @@  class TestSingleDrive(iotests.QMPTestCase):
 
     def tearDown(self):
         self.vm.shutdown()
-        os.remove(blockdev_target_img)
+        remove_test_image(blockdev_target_img)
         try:
             os.remove(target_img)
         except OSError:
@@ -163,7 +163,7 @@  class TestSingleDrive(iotests.QMPTestCase):
 
 class TestSetSpeed(iotests.QMPTestCase):
     def setUp(self):
-        qemu_img('create', '-f', iotests.imgfmt, blockdev_target_img, str(image_len))
+        create_test_image(blockdev_target_img, image_len)
 
         self.vm = iotests.VM().add_drive('blkdebug::' + test_img)
         self.vm.add_drive(blockdev_target_img, interface="none")
@@ -171,7 +171,7 @@  class TestSetSpeed(iotests.QMPTestCase):
 
     def tearDown(self):
         self.vm.shutdown()
-        os.remove(blockdev_target_img)
+        remove_test_image(blockdev_target_img)
         try:
             os.remove(target_img)
         except OSError:
@@ -249,7 +249,7 @@  class TestSetSpeed(iotests.QMPTestCase):
 #       would stall.  Instead, we limit the block job speed here.
 class TestSingleTransaction(iotests.QMPTestCase):
     def setUp(self):
-        qemu_img('create', '-f', iotests.imgfmt, blockdev_target_img, str(image_len))
+        create_test_image(blockdev_target_img, image_len)
 
         self.vm = iotests.VM().add_drive(test_img)
         self.vm.add_drive(blockdev_target_img, interface="none")
@@ -259,7 +259,7 @@  class TestSingleTransaction(iotests.QMPTestCase):
 
     def tearDown(self):
         self.vm.shutdown()
-        os.remove(blockdev_target_img)
+        remove_test_image(blockdev_target_img)
         try:
             os.remove(target_img)
         except OSError:
@@ -452,29 +452,34 @@  class TestSingleTransaction(iotests.QMPTestCase):
 
 class TestDriveCompression(iotests.QMPTestCase):
     image_len = 64 * 1024 * 1024 # MB
-    fmt_supports_compression = [{'type': 'qcow2', 'args': ()},
-                                {'type': 'vmdk', 'args': ('-o', 'subformat=streamOptimized')}]
+    fmt_supports_compression = [{'type': 'qcow2', 'opts': []},
+                                {'type': 'vmdk', 'opts': ['subformat=streamOptimized']}]
+
+    # Compression does not work with external data files
+    @iotests.skip_for_imgopts(['data_file'])
+    def setUp(self):
+        pass
 
     def tearDown(self):
         self.vm.shutdown()
-        os.remove(blockdev_target_img)
+        remove_test_image(blockdev_target_img)
         try:
             os.remove(target_img)
         except OSError:
             pass
 
-    def do_prepare_drives(self, fmt, args, attach_target):
+    def do_prepare_drives(self, fmt, opts, attach_target):
         self.vm = iotests.VM().add_drive('blkdebug::' + test_img)
 
-        qemu_img('create', '-f', fmt, blockdev_target_img,
-                 str(TestDriveCompression.image_len), *args)
+        create_test_image(blockdev_target_img, TestDriveCompression.image_len,
+                          fmt=fmt, opts=opts)
         if attach_target:
             self.vm.add_drive(blockdev_target_img, format=fmt, 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)
+        self.do_prepare_drives(format['type'], format['opts'], attach_target)
 
         self.assert_no_active_block_jobs()
 
@@ -499,7 +504,7 @@  class TestDriveCompression(iotests.QMPTestCase):
                                            target='drive1')
 
     def do_test_compress_cancel(self, cmd, format, attach_target, **args):
-        self.do_prepare_drives(format['type'], format['args'], attach_target)
+        self.do_prepare_drives(format['type'], format['opts'], attach_target)
 
         self.assert_no_active_block_jobs()
 
@@ -523,7 +528,7 @@  class TestDriveCompression(iotests.QMPTestCase):
                                          target='drive1')
 
     def do_test_compress_pause(self, cmd, format, attach_target, **args):
-        self.do_prepare_drives(format['type'], format['args'], attach_target)
+        self.do_prepare_drives(format['type'], format['opts'], attach_target)
 
         self.assert_no_active_block_jobs()