[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v5 02/19] iotests.py: implement unsupported_imgopts
From: |
Vladimir Sementsov-Ogievskiy |
Subject: |
[PATCH v5 02/19] iotests.py: implement unsupported_imgopts |
Date: |
Thu, 23 Dec 2021 17:01:27 +0100 |
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>
---
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 9b374dad3d..35d92715cc 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
--
2.31.1
- [PATCH v5 00/19] iotests: support zstd, Vladimir Sementsov-Ogievskiy, 2021/12/23
- [PATCH v5 01/19] iotests.py: img_info_log(): rename imgopts argument, Vladimir Sementsov-Ogievskiy, 2021/12/23
- [PATCH v5 02/19] iotests.py: implement unsupported_imgopts,
Vladimir Sementsov-Ogievskiy <=
- [PATCH v5 19/19] iotests: declare lack of support for compresion_type in IMGOPTS, Vladimir Sementsov-Ogievskiy, 2021/12/23
- [PATCH v5 03/19] iotests: specify some unsupported_imgopts for python iotests, Vladimir Sementsov-Ogievskiy, 2021/12/23
- [PATCH v5 04/19] iotests.py: qemu_img*("create"): support IMGOPTS='compression_type=zstd', Vladimir Sementsov-Ogievskiy, 2021/12/23
- [PATCH v5 18/19] iotest 214: explicit compression type, Vladimir Sementsov-Ogievskiy, 2021/12/23
- [PATCH v5 05/19] iotests: drop qemu_img_verbose() helper, Vladimir Sementsov-Ogievskiy, 2021/12/23
- [PATCH v5 06/19] iotests.py: rewrite default luks support in qemu_img, Vladimir Sementsov-Ogievskiy, 2021/12/23
- [PATCH v5 07/19] iotest 303: explicit compression type, Vladimir Sementsov-Ogievskiy, 2021/12/23
- [PATCH v5 11/19] iotest 302: use img_info_log() helper, Vladimir Sementsov-Ogievskiy, 2021/12/23
- [PATCH v5 08/19] iotest 065: explicit compression type, Vladimir Sementsov-Ogievskiy, 2021/12/23
- [PATCH v5 10/19] iotests.py: filter compression type out, Vladimir Sementsov-Ogievskiy, 2021/12/23