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 <eesposit@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Message-Id: <20210809090114.64834-13-eesposit@redhat.com>
Signed-off-by: Hanna Reitz <hreitz@redhat.com>
This commit is contained in:
Emanuele Giuseppe Esposito 2021-08-09 11:01:10 +02:00 committed by Hanna Reitz
parent d0c34326c8
commit d792c8636a
1 changed files with 11 additions and 0 deletions

View File

@ -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)