When using valgrind on the test scripts, it generates a log file
in $TEST_DIR that is either print (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>
---
tests/qemu-iotests/iotests.py | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/tests/qemu-iotests/iotests.py b/tests/qemu-iotests/iotests.py
index 56733954b2..b6166b6f7b 100644
--- a/tests/qemu-iotests/iotests.py
+++ b/tests/qemu-iotests/iotests.py
@@ -597,6 +597,26 @@ def __init__(self, path_suffix=''):
sock_dir=sock_dir)
self._num_drives = 0
+ def subprocess_check_valgrind(self, valgrind) -> None:
+
+ if not valgrind:
+ return
+
+ valgrind_filename = test_dir + "/" + str(self._popen.pid) + ".valgrind"
+
+ if self.exitcode() == 99:
+ with open(valgrind_filename) as f:
+ content = f.readlines()
+ for line in content:
+ print(line, end ="")
+ print("")
+ else:
+ os.remove(valgrind_filename)
+
+ def _post_shutdown(self) -> None:
+ super()._post_shutdown()
+ self.subprocess_check_valgrind(qemu_valgrind)
+
def add_object(self, opts):
self._args.append('-object')
self._args.append(opts)
--
2.30.2