]> git.proxmox.com Git - mirror_qemu.git/commitdiff
iotests.py: Add supports_qcow2_zstd_compression()
authorHanna Reitz <hreitz@redhat.com>
Wed, 23 Mar 2022 10:55:20 +0000 (11:55 +0100)
committerHanna Reitz <hreitz@redhat.com>
Wed, 20 Apr 2022 08:13:31 +0000 (10:13 +0200)
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>
tests/qemu-iotests/iotests.py

index fcec3e51e515e8d27b98eebd02252891d95e0a40..fe10a6cf05a36aa2f927ccdffb04b05b8f933185 100644 (file)
@@ -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).