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 <kwolf@redhat.com> Signed-off-by: Max Reitz <mreitz@redhat.com> Message-id: 20190917092004.999-5-mreitz@redhat.com Reviewed-by: Andrey Shinkevich <andrey.shinkevich@virtuozzo.com> Signed-off-by: Max Reitz <mreitz@redhat.com>
This commit is contained in:
parent
e6067a950c
commit
7448be831a
|
@ -930,8 +930,12 @@ def skip_if_unsupported(required_formats=[], read_only=False):
|
||||||
Runs the test if all the required formats are whitelisted'''
|
Runs the test if all the required formats are whitelisted'''
|
||||||
def skip_test_decorator(func):
|
def skip_test_decorator(func):
|
||||||
def func_wrapper(test_case: QMPTestCase, *args, **kwargs):
|
def func_wrapper(test_case: QMPTestCase, *args, **kwargs):
|
||||||
usf_list = list(set(required_formats) -
|
if callable(required_formats):
|
||||||
set(supported_formats(read_only)))
|
fmts = required_formats(test_case)
|
||||||
|
else:
|
||||||
|
fmts = required_formats
|
||||||
|
|
||||||
|
usf_list = list(set(fmts) - set(supported_formats(read_only)))
|
||||||
if usf_list:
|
if usf_list:
|
||||||
test_case.case_skip('{}: formats {} are not whitelisted'.format(
|
test_case.case_skip('{}: formats {} are not whitelisted'.format(
|
||||||
test_case, usf_list))
|
test_case, usf_list))
|
||||||
|
|
Loading…
Reference in a new issue