From 43c799c3d08c97d46074ccb5271522c6752004d1 Mon Sep 17 00:00:00 2001 From: DavHau Date: Thu, 2 May 2024 15:02:10 +0200 Subject: [PATCH] qga: add argument 'check' --- pkgs/clan-cli/clan_cli/qemu/qga.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkgs/clan-cli/clan_cli/qemu/qga.py b/pkgs/clan-cli/clan_cli/qemu/qga.py index 316d9767..4c1390c4 100644 --- a/pkgs/clan-cli/clan_cli/qemu/qga.py +++ b/pkgs/clan-cli/clan_cli/qemu/qga.py @@ -41,7 +41,7 @@ class QgaSession: ) # run, wait for result, return exitcode and output - def run(self, cmd: str) -> tuple[int, str, str]: + def run(self, cmd: str, check: bool = False) -> tuple[int, str, str]: self.exec_cmd(cmd) result_pid = self.get_response() pid = result_pid["return"]["pid"] @@ -74,4 +74,8 @@ class QgaSession: if "err-data" not in result["return"] else base64.b64decode(result["return"]["err-data"]).decode("utf-8") ) + if check and exitcode != 0: + raise Exception( + f"Command on guest failed\nCommand: {cmd}\nExitcode {exitcode}\nStdout: {stdout}\nStderr: {stderr}" + ) return exitcode, stdout, stderr