[pacman-dev] [PATCH] pactest: add environment option to run tests with valgrind
Eli Schwartz
eschwartz at archlinux.org
Tue Nov 26 00:26:44 UTC 2019
In autotools, if we wanted to run tests with valgrind, we used some Make
magic which passed arguments to pactest.py, but that doesn't work in
meson, because all arguments are encoded at configure time. Instead,
let's short-circuit the build runner logic entirely, and teach pactest
to default to running valgrind, when it detects an environment variable
set independent of the build system.
To run the tests with valgrind, we can now use:
PACTEST_VALGRIND=1 meson test -C builddir/
or
PACTEST_VALGRIND=1 make check
It is also possible, but confusing/inconsistent, to use
make check PY_LOG_FLAGS=--valgrind
We *could* add a meson option -Dvalgrind=true, but that is annoying to
reconfigure between test runs, and overall the consensus is it seems
simpler to opt in each time we want to run valgrind, as was already the
case.
Signed-off-by: Eli Schwartz <eschwartz at archlinux.org>
---
test/pacman/pactest.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/test/pacman/pactest.py b/test/pacman/pactest.py
index a5891d17..3414f4cc 100755
--- a/test/pacman/pactest.py
+++ b/test/pacman/pactest.py
@@ -96,7 +96,7 @@ def create_parser():
dest = "gdb", default = False,
help = "use gdb while calling pacman")
parser.add_option("--valgrind", action = "store_true",
- dest = "valgrind", default = False,
+ dest = "valgrind", default = os.getenv('PACTEST_VALGRIND'),
help = "use valgrind while calling pacman")
parser.add_option("--manual-confirm", action = "store_true",
dest = "manualconfirm", default = False,
--
2.24.0
More information about the pacman-dev
mailing list