[pacman-dev] [PATCH] pactest: add environment option to run tests with valgrind

Allan McRae allan at archlinux.org
Tue Nov 26 01:08:35 UTC 2019


On 26/11/19 10:26 am, Eli Schwartz wrote:
> 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>

Works as advertised!   Thanks.

A

> ---
>  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,
> 


More information about the pacman-dev mailing list