[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[RFC PATCH v2 07/11] qemu_iotests: extend the check script to support va
From: |
Emanuele Giuseppe Esposito |
Subject: |
[RFC PATCH v2 07/11] qemu_iotests: extend the check script to support valgrind for python tests |
Date: |
Wed, 7 Apr 2021 15:50:17 +0200 |
Currently, the check script only parses the option and sets the
VALGRIND_QEMU environmental variable to "y".
Add another iotests python variable that prepares the command line,
identical to the one provided in the test scripts.
Because the python script does not know in advance the valgrind
PID to assign to the log file name, use the "%p" flag in valgrind
log file name that automatically puts the process PID at runtime.
Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
---
tests/qemu-iotests/iotests.py | 11 +++++++++++
tests/qemu-iotests/testenv.py | 1 +
2 files changed, 12 insertions(+)
diff --git a/tests/qemu-iotests/iotests.py b/tests/qemu-iotests/iotests.py
index 8f6bb20af5..7c28f0cb74 100644
--- a/tests/qemu-iotests/iotests.py
+++ b/tests/qemu-iotests/iotests.py
@@ -96,6 +96,17 @@
sys.stderr.write('Please run this test via the "check" script\n')
sys.exit(os.EX_USAGE)
+qemu_valgrind = []
+if os.environ.get('VALGRIND_QEMU') == "y" and \
+ os.environ.get('NO_VALGRIND') != "y":
+ valgrind_logfile = "--log-file=" + test_dir.strip()
+ # %p allows to put the valgrind process PID, since
+ # we don't know it a priori (subprocess.Peopen is
+ # not yet invoked)
+ valgrind_logfile += "/%p.valgrind"
+
+ qemu_valgrind = ['valgrind', valgrind_logfile, '--error-exitcode=99']
+
socket_scm_helper = os.environ.get('SOCKET_SCM_HELPER', 'socket_scm_helper')
luks_default_secret_object = 'secret,id=keysec0,data=' + \
diff --git a/tests/qemu-iotests/testenv.py b/tests/qemu-iotests/testenv.py
index 669eb6b925..86798bf752 100644
--- a/tests/qemu-iotests/testenv.py
+++ b/tests/qemu-iotests/testenv.py
@@ -280,6 +280,7 @@ def print_env(self) -> None:
SOCK_DIR -- {SOCK_DIR}
SOCKET_SCM_HELPER -- {SOCKET_SCM_HELPER}
GDB_QEMU -- "{GDB_QEMU}"
+VALGRIND_QEMU -- "{VALGRIND_QEMU}"
"""
args = collections.defaultdict(str, self.get_env())
--
2.30.2
- [RFC PATCH v2 04/11] qemu-iotests: delay QMP socket timers, (continued)
[RFC PATCH v2 03/11] qemu-iotests: add option to attach gdbserver, Emanuele Giuseppe Esposito, 2021/04/07
[RFC PATCH v2 05/11] qemu_iotests: insert gdbserver command line as wrapper for qemu binary, Emanuele Giuseppe Esposito, 2021/04/07
[RFC PATCH v2 06/11] qemu-iotests: add gdbserver option to script tests too, Emanuele Giuseppe Esposito, 2021/04/07
[RFC PATCH v2 07/11] qemu_iotests: extend the check script to support valgrind for python tests,
Emanuele Giuseppe Esposito <=
[RFC PATCH v2 08/11] qemu_iotests: extent QMP socket timeout when using valgrind, Emanuele Giuseppe Esposito, 2021/04/07
[RFC PATCH v2 10/11] qemu_iotests: insert valgrind command line as wrapper for qemu binary, Emanuele Giuseppe Esposito, 2021/04/07
[RFC PATCH v2 09/11] qemu_iotests: allow valgrint to print/delete the generated log file, Emanuele Giuseppe Esposito, 2021/04/07
[RFC PATCH v2 11/11] qemu_iotests: add option to show qemu binary logs on stdout, Emanuele Giuseppe Esposito, 2021/04/07
Re: [RFC PATCH v2 00/11] qemu_iotests: improve debugging options, Markus Armbruster, 2021/04/08