From 7448be831a6b3a3a7f91d873a52bb2d1ce0bd3d9 Mon Sep 17 00:00:00 2001 From: Max Reitz Date: Tue, 17 Sep 2019 11:20:01 +0200 Subject: [PATCH] iotests: Let skip_if_unsupported accept a function This lets tests use skip_if_unsupported() with a potentially variable list of required formats. Suggested-by: Kevin Wolf Signed-off-by: Max Reitz Message-id: 20190917092004.999-5-mreitz@redhat.com Reviewed-by: Andrey Shinkevich Signed-off-by: Max Reitz --- tests/qemu-iotests/iotests.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tests/qemu-iotests/iotests.py b/tests/qemu-iotests/iotests.py index bd867d7e02..936d33df61 100644 --- a/tests/qemu-iotests/iotests.py +++ b/tests/qemu-iotests/iotests.py @@ -930,8 +930,12 @@ def skip_if_unsupported(required_formats=[], read_only=False): Runs the test if all the required formats are whitelisted''' def skip_test_decorator(func): def func_wrapper(test_case: QMPTestCase, *args, **kwargs): - usf_list = list(set(required_formats) - - set(supported_formats(read_only))) + if callable(required_formats): + fmts = required_formats(test_case) + else: + fmts = required_formats + + usf_list = list(set(fmts) - set(supported_formats(read_only))) if usf_list: test_case.case_skip('{}: formats {} are not whitelisted'.format( test_case, usf_list)) -- 2.11.0