iotests: remove qemu_img_pipe_and_status()

With the exceptional 'create' calls removed in the prior commit, change
qemu_img_log() and img_info_log() to call qemu_img() directly
instead.

For now, allow these calls to qemu-img to return non-zero on the basis
that any unusual output will be logged anyway. The very next commit
begins to enforce a successful exit code by default even for the logged
functions.

Signed-off-by: John Snow <jsnow@redhat.com>
Message-Id: <20220321201618.903471-18-jsnow@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
master
John Snow 2022-03-21 16:16:17 -04:00 committed by Hanna Reitz
parent 3c8b7358d6
commit f400e14da0
1 changed files with 7 additions and 19 deletions

View File

@ -207,15 +207,6 @@ def qemu_img_create_prepare_args(args: List[str]) -> List[str]:
return result
def qemu_img_pipe_and_status(*args: str) -> Tuple[str, int]:
"""
Run qemu-img and return both its output and its exit code
"""
is_create = bool(args and args[0] == 'create')
full_args = qemu_img_args + qemu_img_create_prepare_args(list(args))
return qemu_tool_pipe_and_status('qemu-img', full_args,
drop_successful_output=is_create)
def qemu_img(*args: str, check: bool = True, combine_stdio: bool = True
) -> 'subprocess.CompletedProcess[str]':
"""
@ -321,17 +312,14 @@ def qemu_img_info(*args: str) -> Any:
def qemu_img_map(*args: str) -> Any:
return qemu_img_json('map', "--output", "json", *args)
def qemu_img_pipe(*args: str) -> str:
'''Run qemu-img and return its output'''
return qemu_img_pipe_and_status(*args)[0]
def qemu_img_log(*args):
result = qemu_img_pipe(*args)
log(result, filters=[filter_testfiles])
def qemu_img_log(*args: str) -> 'subprocess.CompletedProcess[str]':
result = qemu_img(*args, check=False)
log(result.stdout, filters=[filter_testfiles])
return result
def img_info_log(filename, filter_path=None, use_image_opts=False,
extra_args=()):
def img_info_log(filename: str, filter_path: Optional[str] = None,
use_image_opts: bool = False, extra_args: Sequence[str] = (),
) -> None:
args = ['info']
if use_image_opts:
args.append('--image-opts')
@ -340,7 +328,7 @@ def img_info_log(filename, filter_path=None, use_image_opts=False,
args += extra_args
args.append(filename)
output = qemu_img_pipe(*args)
output = qemu_img(*args, check=False).stdout
if not filter_path:
filter_path = filename
log(filter_img_info(output, filter_path))