[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v3 09/15] qemu_iotests: extend the check script to support valgri
From: |
Emanuele Giuseppe Esposito |
Subject: |
[PATCH v3 09/15] qemu_iotests: extend the check script to support valgrind for python tests |
Date: |
Wed, 14 Apr 2021 19:03:46 +0200 |
Currently, the check script only parses the option and sets the
VALGRIND_QEMU environmental variable to "y".
Add another local 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 valgring
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/check | 7 ++++---
tests/qemu-iotests/iotests.py | 11 +++++++++++
tests/qemu-iotests/testenv.py | 1 +
3 files changed, 16 insertions(+), 3 deletions(-)
diff --git a/tests/qemu-iotests/check b/tests/qemu-iotests/check
index 6186495eee..489178d9a4 100755
--- a/tests/qemu-iotests/check
+++ b/tests/qemu-iotests/check
@@ -36,6 +36,10 @@ def make_argparser() -> argparse.ArgumentParser:
p.add_argument('-gdb', action='store_true',
help="start gdbserver with $GDB_QEMU options. \
Default is localhost:12345")
+ p.add_argument('-valgrind', action='store_true',
+ help='use valgrind, sets VALGRIND_QEMU environment '
+ 'variable')
+
p.add_argument('-misalign', action='store_true',
help='misalign memory allocations')
p.add_argument('--color', choices=['on', 'off', 'auto'],
@@ -86,9 +90,6 @@ def make_argparser() -> argparse.ArgumentParser:
g_bash.add_argument('-o', dest='imgopts',
help='options to pass to qemu-img create/convert, '
'sets IMGOPTS environment variable')
- g_bash.add_argument('-valgrind', action='store_true',
- help='use valgrind, sets VALGRIND_QEMU environment '
- 'variable')
g_sel = p.add_argument_group('test selecting options',
'The following options specify test set '
diff --git a/tests/qemu-iotests/iotests.py b/tests/qemu-iotests/iotests.py
index 4f3fb13915..a2e8604674 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 e131ff42cb..39ae7ace33 100644
--- a/tests/qemu-iotests/testenv.py
+++ b/tests/qemu-iotests/testenv.py
@@ -277,6 +277,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
- Re: [PATCH v3 05/15] qemu-iotests: delay QMP socket timers, (continued)
- [PATCH v3 06/15] qemu_iotests: insert gdbserver command line as wrapper for qemu binary, Emanuele Giuseppe Esposito, 2021/04/14
- [PATCH v3 07/15] qemu-iotests: add gdbserver option to script tests too, Emanuele Giuseppe Esposito, 2021/04/14
- [PATCH v3 08/15] docs/devel/testing: add -gdb option to the debugging section of QEMU iotests, Emanuele Giuseppe Esposito, 2021/04/14
- [PATCH v3 10/15] qemu_iotests: extent QMP socket timeout when using valgrind, Emanuele Giuseppe Esposito, 2021/04/14
- [PATCH v3 09/15] qemu_iotests: extend the check script to support valgrind for python tests,
Emanuele Giuseppe Esposito <=
- [PATCH v3 13/15] docs/devel/testing: add -valgrind option to the debug section of QEMU iotests, Emanuele Giuseppe Esposito, 2021/04/14
- [PATCH v3 12/15] qemu_iotests: insert valgrind command line as wrapper for qemu binary, Emanuele Giuseppe Esposito, 2021/04/14
- [PATCH v3 15/15] docs/devel/testing: add -p option to the debug section of QEMU iotests, Emanuele Giuseppe Esposito, 2021/04/14
- [PATCH v3 11/15] qemu_iotests: allow valgrind to read/delete the generated log file, Emanuele Giuseppe Esposito, 2021/04/14
- [PATCH v3 14/15] qemu_iotests: add option to show qemu binary logs on stdout, Emanuele Giuseppe Esposito, 2021/04/14