5435e8a804
Backport patches related with iotest from upstream * Patches added: block-backend-Retain-permissions-after-m.patch iotest-065-explicit-compression-type.patch iotest-214-explicit-compression-type.patch iotest-302-use-img_info_log-helper.patch iotest-303-explicit-compression-type.patch iotest-39-use-_qcow2_dump_header.patch iotests-60-more-accurate-set-dirty-bit-i.patch iotests-bash-tests-filter-compression-ty.patch iotests-common.rc-introduce-_qcow2_dump_.patch iotests-declare-lack-of-support-for-comp.patch iotests-drop-qemu_img_verbose-helper.patch iotests-massive-use-_qcow2_dump_header.patch iotests-MRCE-Write-data-to-source.patch iotests.py-filter-out-successful-output-.patch iotests.py-img_info_log-rename-imgopts-a.patch iotests.py-implement-unsupported_imgopts.patch iotests.py-qemu_img-create-support-IMGOP.patch iotests.py-rewrite-default-luks-support-.patch iotests-specify-some-unsupported_imgopts.patch qcow2-simple-case-support-for-downgradin.patch tests-qemu-iotests-Fix-051-for-binaries-.patch OBS-URL: https://build.opensuse.org/request/show/955876 OBS-URL: https://build.opensuse.org/package/show/Virtualization/qemu?expand=0&rev=690
65 lines
2.7 KiB
Diff
65 lines
2.7 KiB
Diff
From: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
|
|
Date: Thu, 23 Dec 2021 17:01:27 +0100
|
|
Subject: iotests.py: implement unsupported_imgopts
|
|
|
|
Git-commit: 7c15400cdd06b7b9b26c86eac1858fb9c0d77c1c
|
|
|
|
We are going to support some addition IMGOPTS in python iotests like
|
|
in bash iotests. Similarly to bash iotests, we want a way to skip some
|
|
tests which can't work with specific IMGOPTS.
|
|
|
|
Globally for python iotests we will not support things like
|
|
'data_file=$TEST_IMG.ext_data_file' in IMGOPTS, so, forbid this
|
|
globally in iotests.py.
|
|
|
|
Suggested-by: Hanna Reitz <hreitz@redhat.com>
|
|
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
|
|
Reviewed-by: Hanna Reitz <hreitz@redhat.com>
|
|
Message-Id: <20211223160144.1097696-3-vsementsov@virtuozzo.com>
|
|
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
|
|
Signed-off-by: Li Zhang <lizhang@suse.de>
|
|
---
|
|
tests/qemu-iotests/iotests.py | 15 ++++++++++++++-
|
|
1 file changed, 14 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/tests/qemu-iotests/iotests.py b/tests/qemu-iotests/iotests.py
|
|
index 9b374dad3dd063fbcbd10963ce5b..35d92715ccf4defe721a38982788 100644
|
|
--- a/tests/qemu-iotests/iotests.py
|
|
+++ b/tests/qemu-iotests/iotests.py
|
|
@@ -1215,6 +1215,17 @@ def _verify_virtio_scsi_pci_or_ccw() -> None:
|
|
notrun('Missing virtio-scsi-pci or virtio-scsi-ccw in QEMU binary')
|
|
|
|
|
|
+def _verify_imgopts(unsupported: Sequence[str] = ()) -> None:
|
|
+ imgopts = os.environ.get('IMGOPTS')
|
|
+ # One of usage examples for IMGOPTS is "data_file=$TEST_IMG.ext_data_file"
|
|
+ # but it supported only for bash tests. We don't have a concept of global
|
|
+ # TEST_IMG in iotests.py, not saying about somehow parsing $variables.
|
|
+ # So, for simplicity let's just not support any IMGOPTS with '$' inside.
|
|
+ unsup = list(unsupported) + ['$']
|
|
+ if imgopts and any(x in imgopts for x in unsup):
|
|
+ notrun(f'not suitable for this imgopts: {imgopts}')
|
|
+
|
|
+
|
|
def supports_quorum():
|
|
return 'quorum' in qemu_img_pipe('--help')
|
|
|
|
@@ -1391,7 +1402,8 @@ def execute_setup_common(supported_fmts: Sequence[str] = (),
|
|
unsupported_fmts: Sequence[str] = (),
|
|
supported_protocols: Sequence[str] = (),
|
|
unsupported_protocols: Sequence[str] = (),
|
|
- required_fmts: Sequence[str] = ()) -> bool:
|
|
+ required_fmts: Sequence[str] = (),
|
|
+ unsupported_imgopts: Sequence[str] = ()) -> bool:
|
|
"""
|
|
Perform necessary setup for either script-style or unittest-style tests.
|
|
|
|
@@ -1411,6 +1423,7 @@ def execute_setup_common(supported_fmts: Sequence[str] = (),
|
|
_verify_aio_mode(supported_aio_modes)
|
|
_verify_formats(required_fmts)
|
|
_verify_virtio_blk()
|
|
+ _verify_imgopts(unsupported_imgopts)
|
|
|
|
return debug
|
|
|