mirror of
https://github.com/qemu/qemu.git
synced 2025-08-09 01:50:43 +00:00
iotests.py: Add (verify|has)_working_luks()
Similar to _require_working_luks for bash tests, these functions can be used to check whether our luks driver can actually create images. Signed-off-by: Max Reitz <mreitz@redhat.com> Message-Id: <20200625125548.870061-6-mreitz@redhat.com> Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com>
This commit is contained in:
parent
d849acab41
commit
6649f4bd29
@ -1052,6 +1052,45 @@ def verify_quorum():
|
|||||||
if not supports_quorum():
|
if not supports_quorum():
|
||||||
notrun('quorum support missing')
|
notrun('quorum support missing')
|
||||||
|
|
||||||
|
def has_working_luks() -> Tuple[bool, str]:
|
||||||
|
"""
|
||||||
|
Check whether our LUKS driver can actually create images
|
||||||
|
(this extends to LUKS encryption for qcow2).
|
||||||
|
|
||||||
|
If not, return the reason why.
|
||||||
|
"""
|
||||||
|
|
||||||
|
img_file = f'{test_dir}/luks-test.luks'
|
||||||
|
(output, status) = \
|
||||||
|
qemu_img_pipe_and_status('create', '-f', 'luks',
|
||||||
|
'--object', luks_default_secret_object,
|
||||||
|
'-o', luks_default_key_secret_opt,
|
||||||
|
'-o', 'iter-time=10',
|
||||||
|
img_file, '1G')
|
||||||
|
try:
|
||||||
|
os.remove(img_file)
|
||||||
|
except OSError:
|
||||||
|
pass
|
||||||
|
|
||||||
|
if status != 0:
|
||||||
|
reason = output
|
||||||
|
for line in output.splitlines():
|
||||||
|
if img_file + ':' in line:
|
||||||
|
reason = line.split(img_file + ':', 1)[1].strip()
|
||||||
|
break
|
||||||
|
|
||||||
|
return (False, reason)
|
||||||
|
else:
|
||||||
|
return (True, '')
|
||||||
|
|
||||||
|
def verify_working_luks():
|
||||||
|
"""
|
||||||
|
Skip test suite if LUKS does not work
|
||||||
|
"""
|
||||||
|
(working, reason) = has_working_luks()
|
||||||
|
if not working:
|
||||||
|
notrun(reason)
|
||||||
|
|
||||||
def qemu_pipe(*args):
|
def qemu_pipe(*args):
|
||||||
"""
|
"""
|
||||||
Run qemu with an option to print something and exit (e.g. a help option).
|
Run qemu with an option to print something and exit (e.g. a help option).
|
||||||
|
Loading…
Reference in New Issue
Block a user