summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>2021-10-14 19:01:14 +0200
committerVladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>2021-12-23 09:40:34 +0100
commit94a781f220141ad9f91a1c1583368cd5f24c4d7e (patch)
tree49480bd8fbb97d848e55770bacb0a427b7a3a53e
parentc34ec5137d67bab194d5c20e1c85e0e5d392af8c (diff)
downloadqemu-94a781f220141ad9f91a1c1583368cd5f24c4d7e.zip
iotests.py: add and use qemu_io_wrap_args()
For qemu_io* functions support --image-opts argument, which conflicts with -f argument from qemu_io_args. For QemuIoInteractive use new wrapper as well, which allows relying on default format. Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> Reviewed-by: Nikita Lapshin <nikita.lapshin@virtuozzo.com>
-rw-r--r--tests/qemu-iotests/iotests.py20
1 files changed, 10 insertions, 10 deletions
diff --git a/tests/qemu-iotests/iotests.py b/tests/qemu-iotests/iotests.py
index 452d047716..c4b81a291b 100644
--- a/tests/qemu-iotests/iotests.py
+++ b/tests/qemu-iotests/iotests.py
@@ -241,10 +241,15 @@ def img_info_log(filename, filter_path=None, imgopts=False, extra_args=()):
filter_path = filename
log(filter_img_info(output, filter_path))
+def qemu_io_wrap_args(args: Sequence[str]) -> List[str]:
+ if '-f' in args or '--image-opts' in args:
+ return qemu_io_args_no_fmt + list(args)
+ else:
+ return qemu_io_args + list(args)
+
def qemu_io(*args):
'''Run qemu-io and return the stdout data'''
- args = qemu_io_args + list(args)
- return qemu_tool_pipe_and_status('qemu-io', args)[0]
+ return qemu_tool_pipe_and_status('qemu-io', qemu_io_wrap_args(args))[0]
def qemu_io_log(*args):
result = qemu_io(*args)
@@ -253,12 +258,7 @@ def qemu_io_log(*args):
def qemu_io_silent(*args):
'''Run qemu-io and return the exit code, suppressing stdout'''
- if '-f' in args or '--image-opts' in args:
- default_args = qemu_io_args_no_fmt
- else:
- default_args = qemu_io_args
-
- args = default_args + list(args)
+ args = qemu_io_wrap_args(args)
result = subprocess.run(args, stdout=subprocess.DEVNULL, check=False)
if result.returncode < 0:
sys.stderr.write('qemu-io received signal %i: %s\n' %
@@ -267,14 +267,14 @@ def qemu_io_silent(*args):
def qemu_io_silent_check(*args):
'''Run qemu-io and return the true if subprocess returned 0'''
- args = qemu_io_args + list(args)
+ args = qemu_io_wrap_args(args)
result = subprocess.run(args, stdout=subprocess.DEVNULL,
stderr=subprocess.STDOUT, check=False)
return result.returncode == 0
class QemuIoInteractive:
def __init__(self, *args):
- self.args = qemu_io_args_no_fmt + list(args)
+ self.args = qemu_io_wrap_args(args)
# We need to keep the Popen objext around, and not
# close it immediately. Therefore, disable the pylint check:
# pylint: disable=consider-using-with