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 {}'
|
log('Write an unknown bitmap flag \'{}\' into a new QCOW2 image at offset {}'
|
||||||
.format(hex(bitmap_flag_unknown), flag_offset))
|
.format(hex(bitmap_flag_unknown), flag_offset))
|
||||||
toggle_flag(flag_offset)
|
toggle_flag(flag_offset)
|
||||||
img_info_log(disk)
|
img_info_log(disk, check=False)
|
||||||
toggle_flag(flag_offset)
|
toggle_flag(flag_offset)
|
||||||
log('Unset the unknown bitmap flag \'{}\' in the bitmap directory entry:\n'
|
log('Unset the unknown bitmap flag \'{}\' in the bitmap directory entry:\n'
|
||||||
.format(hex(bitmap_flag_unknown)))
|
.format(hex(bitmap_flag_unknown)))
|
||||||
|
|
|
@ -137,7 +137,7 @@ def main():
|
||||||
iotests.log('')
|
iotests.log('')
|
||||||
|
|
||||||
vm.shutdown()
|
vm.shutdown()
|
||||||
iotests.img_info_log(file_path)
|
iotests.img_info_log(file_path, check=False)
|
||||||
|
|
||||||
|
|
||||||
iotests.script_main(main,
|
iotests.script_main(main,
|
||||||
|
|
|
@ -312,13 +312,15 @@ def qemu_img_info(*args: str) -> Any:
|
||||||
def qemu_img_map(*args: str) -> Any:
|
def qemu_img_map(*args: str) -> Any:
|
||||||
return qemu_img_json('map', "--output", "json", *args)
|
return qemu_img_json('map', "--output", "json", *args)
|
||||||
|
|
||||||
def qemu_img_log(*args: str) -> 'subprocess.CompletedProcess[str]':
|
def qemu_img_log(*args: str, check: bool = True
|
||||||
result = qemu_img(*args, check=False)
|
) -> 'subprocess.CompletedProcess[str]':
|
||||||
|
result = qemu_img(*args, check=check)
|
||||||
log(result.stdout, filters=[filter_testfiles])
|
log(result.stdout, filters=[filter_testfiles])
|
||||||
return result
|
return result
|
||||||
|
|
||||||
def img_info_log(filename: str, filter_path: Optional[str] = None,
|
def img_info_log(filename: str, filter_path: Optional[str] = None,
|
||||||
use_image_opts: bool = False, extra_args: Sequence[str] = (),
|
use_image_opts: bool = False, extra_args: Sequence[str] = (),
|
||||||
|
check: bool = True,
|
||||||
) -> None:
|
) -> None:
|
||||||
args = ['info']
|
args = ['info']
|
||||||
if use_image_opts:
|
if use_image_opts:
|
||||||
|
@ -328,7 +330,7 @@ def img_info_log(filename: str, filter_path: Optional[str] = None,
|
||||||
args += extra_args
|
args += extra_args
|
||||||
args.append(filename)
|
args.append(filename)
|
||||||
|
|
||||||
output = qemu_img(*args, check=False).stdout
|
output = qemu_img(*args, check=check).stdout
|
||||||
if not filter_path:
|
if not filter_path:
|
||||||
filter_path = filename
|
filter_path = filename
|
||||||
log(filter_img_info(output, filter_path))
|
log(filter_img_info(output, filter_path))
|
||||||
|
|
Loading…
Reference in New Issue