303 runs two test cases, one of which requires zstd support.
Unfortunately, given that this is not a unittest-style test, we cannot
easily skip that single case, and instead can only skip the whole test.
(Alternatively, we could split this test into a zlib and a zstd part,
but that seems excessive, given that this test is not in auto and thus
likely only run by developers who have zstd support compiled in.)
Fixes: 677e0bae686e7c670a71d1f ("iotest 303: explicit compression type")
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
---
tests/qemu-iotests/303 | 15 +++++++++++----
1 file changed, 11 insertions(+), 4 deletions(-)
diff --git a/tests/qemu-iotests/303 b/tests/qemu-iotests/303
index 16c2e10827..5a3efb4ba3 100755
--- a/tests/qemu-iotests/303
+++ b/tests/qemu-iotests/303
@@ -21,7 +21,8 @@
import iotests
import subprocess
-from iotests import qemu_img_create, qemu_io, file_path, log, filter_qemu_io
+from iotests import notrun, qemu_img_pipe_and_status, qemu_io, file_path, \
+ log, filter_qemu_io
iotests.script_initialize(supported_fmts=['qcow2'],
unsupported_imgopts=['refcount_bits', 'compat'])
@@ -55,9 +56,15 @@ def add_bitmap(num, begin, end, disabled):
def test(compression_type: str, json_output: bool) -> None:
- qemu_img_create('-f', iotests.imgfmt,
- '-o', f'compression_type={compression_type}',
- disk, '10M')
+ opts = f'compression_type={compression_type}'
+ output, status = qemu_img_pipe_and_status('create',
+ '-f', iotests.imgfmt,
+ '-o', opts,
+ disk, '10M')
+ if status == 1 and \
+ "'compression-type' does not accept value 'zstd'" in output:
+ notrun('zstd compression not supported')
+
add_bitmap(1, 0, 6, False)
add_bitmap(2, 6, 8, True)