summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorHanna Reitz <hreitz@redhat.com>2022-03-23 11:55:20 +0100
committerHanna Reitz <hreitz@redhat.com>2022-04-20 10:13:31 +0200
commit9ba271f0c77d47dc5e3fef7da0b59b17a6960fdf (patch)
treea49a8493d2908d4da8707e9c11a6659e6578e9b1
parent2cf6a4e3449365a514d99a1f6af3b3d05ab59824 (diff)
downloadfocaccia-qemu-9ba271f0c77d47dc5e3fef7da0b59b17a6960fdf.tar.gz
focaccia-qemu-9ba271f0c77d47dc5e3fef7da0b59b17a6960fdf.zip
iotests.py: Add supports_qcow2_zstd_compression()
Suggested-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Message-Id: <20220323105522.53660-2-hreitz@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <v.sementsov-og@mail.ru>
-rw-r--r--tests/qemu-iotests/iotests.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/qemu-iotests/iotests.py b/tests/qemu-iotests/iotests.py
index fcec3e51e5..fe10a6cf05 100644
--- a/tests/qemu-iotests/iotests.py
+++ b/tests/qemu-iotests/iotests.py
@@ -1471,6 +1471,26 @@ def verify_working_luks():
     if not working:
         notrun(reason)
 
+def supports_qcow2_zstd_compression() -> bool:
+    img_file = f'{test_dir}/qcow2-zstd-test.qcow2'
+    res = qemu_img('create', '-f', 'qcow2', '-o', 'compression_type=zstd',
+                   img_file, '0',
+                   check=False)
+    try:
+        os.remove(img_file)
+    except OSError:
+        pass
+
+    if res.returncode == 1 and \
+            "'compression-type' does not accept value 'zstd'" in res.stdout:
+        return False
+    else:
+        return True
+
+def verify_qcow2_zstd_compression():
+    if not supports_qcow2_zstd_compression():
+        notrun('zstd compression not supported')
+
 def qemu_pipe(*args: str) -> str:
     """
     Run qemu with an option to print something and exit (e.g. a help option).