From: Emanuele Giuseppe Esposito Date: Mon, 9 Aug 2021 09:01:10 +0000 (+0200) Subject: qemu-iotests: allow valgrind to read/delete the generated log file X-Git-Tag: v6.2.0-rc0~121^2~44 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d792c8636afe6b302a0028518738d45ad2826a3d;p=thirdparty%2Fqemu.git qemu-iotests: allow valgrind to read/delete the generated log file When using -valgrind on the script tests, it generates a log file in $TEST_DIR that is either read (if valgrind finds problems) or otherwise deleted. Provide the same exact behavior when using -valgrind on the python tests. Signed-off-by: Emanuele Giuseppe Esposito Reviewed-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Max Reitz Message-Id: <20210809090114.64834-13-eesposit@redhat.com> Signed-off-by: Hanna Reitz --- diff --git a/tests/qemu-iotests/iotests.py b/tests/qemu-iotests/iotests.py index 26c580f9e7a..85d8c0abbb1 100644 --- a/tests/qemu-iotests/iotests.py +++ b/tests/qemu-iotests/iotests.py @@ -598,6 +598,17 @@ class VM(qtest.QEMUQtestMachine): sock_dir=sock_dir, qmp_timer=timer) self._num_drives = 0 + def _post_shutdown(self) -> None: + super()._post_shutdown() + if not qemu_valgrind or not self._popen: + return + valgrind_filename = f"{test_dir}/{self._popen.pid}.valgrind" + if self.exitcode() == 99: + with open(valgrind_filename) as f: + print(f.read()) + else: + os.remove(valgrind_filename) + def add_object(self, opts): self._args.append('-object') self._args.append(opts)