iotests: make qemu_img_log and img_info_log raise on error
Add a `check: bool = True` parameter to both functions and make their qemu_img() invocations raise on error by default. users of img_info_log: 206, 207, 210, 211, 212, 213, 237, 242, 266, 274, 302 users of qemu_img_log: 044, 209, 274, 302, 304 iotests 242 and 266 need to use check=False for their negative tests. iotests 206, 210, 211, 212, 213, 237, 274 and 302 continue working normally. As of this commit, all calls to QEMU_IMG made from iotests enforce a return code of zero by default unless explicitly disabled or suppressed by passing check=False or with an exception handler. Signed-off-by: John Snow <jsnow@redhat.com> Message-Id: <20220321201618.903471-19-jsnow@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Signed-off-by: Hanna Reitz <hreitz@redhat.com>
This commit is contained in:
parent
f400e14da0
commit
8f685ac391
@ -100,7 +100,7 @@ add_bitmap(1, True, False)
|
||||
log('Write an unknown bitmap flag \'{}\' into a new QCOW2 image at offset {}'
|
||||
.format(hex(bitmap_flag_unknown), flag_offset))
|
||||
toggle_flag(flag_offset)
|
||||
img_info_log(disk)
|
||||
img_info_log(disk, check=False)
|
||||
toggle_flag(flag_offset)
|
||||
log('Unset the unknown bitmap flag \'{}\' in the bitmap directory entry:\n'
|
||||
.format(hex(bitmap_flag_unknown)))
|
||||
|
@ -137,7 +137,7 @@ def main():
|
||||
iotests.log('')
|
||||
|
||||
vm.shutdown()
|
||||
iotests.img_info_log(file_path)
|
||||
iotests.img_info_log(file_path, check=False)
|
||||
|
||||
|
||||
iotests.script_main(main,
|
||||
|
@ -312,13 +312,15 @@ 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_log(*args: str) -> 'subprocess.CompletedProcess[str]':
|
||||
result = qemu_img(*args, check=False)
|
||||
def qemu_img_log(*args: str, check: bool = True
|
||||
) -> 'subprocess.CompletedProcess[str]':
|
||||
result = qemu_img(*args, check=check)
|
||||
log(result.stdout, filters=[filter_testfiles])
|
||||
return result
|
||||
|
||||
def img_info_log(filename: str, filter_path: Optional[str] = None,
|
||||
use_image_opts: bool = False, extra_args: Sequence[str] = (),
|
||||
check: bool = True,
|
||||
) -> None:
|
||||
args = ['info']
|
||||
if use_image_opts:
|
||||
@ -328,7 +330,7 @@ def img_info_log(filename: str, filter_path: Optional[str] = None,
|
||||
args += extra_args
|
||||
args.append(filename)
|
||||
|
||||
output = qemu_img(*args, check=False).stdout
|
||||
output = qemu_img(*args, check=check).stdout
|
||||
if not filter_path:
|
||||
filter_path = filename
|
||||
log(filter_img_info(output, filter_path))
|
||||
|
Loading…
Reference in New Issue
Block a user