iotests/065: Check for zstd support

Some test cases run in iotest 065 want to run with zstd compression just
for added coverage.  Run them with zlib if there is no zstd support
compiled in.

Reported-by: Thomas Huth <thuth@redhat.com>
Fixes: 12a936171d ("iotest 065: explicit compression type")
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
Message-Id: <20220323105522.53660-3-hreitz@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <v.sementsov-og@mail.ru>
This commit is contained in:
Hanna Reitz 2022-03-23 11:55:21 +01:00
parent 9ba271f0c7
commit 7253a57007

View File

@ -24,7 +24,7 @@ import os
import re
import json
import iotests
from iotests import qemu_img, qemu_img_info
from iotests import qemu_img, qemu_img_info, supports_qcow2_zstd_compression
import unittest
test_img = os.path.join(iotests.test_dir, 'test.img')
@ -95,11 +95,17 @@ class TestQCow2(TestQemuImgInfo):
class TestQCow3NotLazy(TestQemuImgInfo):
'''Testing a qcow2 version 3 image with lazy refcounts disabled'''
img_options = 'compat=1.1,lazy_refcounts=off,compression_type=zstd'
if supports_qcow2_zstd_compression():
compression_type = 'zstd'
else:
compression_type = 'zlib'
img_options = 'compat=1.1,lazy_refcounts=off'
img_options += f',compression_type={compression_type}'
json_compare = { 'compat': '1.1', 'lazy-refcounts': False,
'refcount-bits': 16, 'corrupt': False,
'compression-type': 'zstd', 'extended-l2': False }
human_compare = [ 'compat: 1.1', 'compression type: zstd',
'compression-type': compression_type, 'extended-l2': False }
human_compare = [ 'compat: 1.1', f'compression type: {compression_type}',
'lazy refcounts: false', 'refcount bits: 16',
'corrupt: false', 'extended l2: false' ]
@ -126,11 +132,17 @@ class TestQCow3NotLazyQMP(TestQMP):
class TestQCow3LazyQMP(TestQMP):
'''Testing a qcow2 version 3 image with lazy refcounts enabled, opening
with lazy refcounts disabled'''
img_options = 'compat=1.1,lazy_refcounts=on,compression_type=zstd'
if supports_qcow2_zstd_compression():
compression_type = 'zstd'
else:
compression_type = 'zlib'
img_options = 'compat=1.1,lazy_refcounts=on'
img_options += f',compression_type={compression_type}'
qemu_options = 'lazy-refcounts=off'
compare = { 'compat': '1.1', 'lazy-refcounts': True,
'refcount-bits': 16, 'corrupt': False,
'compression-type': 'zstd', 'extended-l2': False }
'compression-type': compression_type, 'extended-l2': False }
TestImageInfoSpecific = None
TestQemuImgInfo = None