From 8f685ac391047a8c253c94b165c3e9b8f184cff2 Mon Sep 17 00:00:00 2001 From: John Snow Date: Mon, 21 Mar 2022 16:16:18 -0400 Subject: [PATCH] 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 Message-Id: <20220321201618.903471-19-jsnow@redhat.com> Reviewed-by: Eric Blake Signed-off-by: Hanna Reitz --- tests/qemu-iotests/242 | 2 +- tests/qemu-iotests/266 | 2 +- tests/qemu-iotests/iotests.py | 8 +++++--- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/tests/qemu-iotests/242 b/tests/qemu-iotests/242 index 547bf382e3..b3afd36d72 100755 --- a/tests/qemu-iotests/242 +++ b/tests/qemu-iotests/242 @@ -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))) diff --git a/tests/qemu-iotests/266 b/tests/qemu-iotests/266 index 71ce81d0df..8fc3807ac5 100755 --- a/tests/qemu-iotests/266 +++ b/tests/qemu-iotests/266 @@ -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, diff --git a/tests/qemu-iotests/iotests.py b/tests/qemu-iotests/iotests.py index 1771d01977..4b788c7491 100644 --- a/tests/qemu-iotests/iotests.py +++ b/tests/qemu-iotests/iotests.py @@ -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))