From 8a2193380c07c8daa693d50b946585195e5161b6 Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Fri, 4 Sep 2020 11:29:32 +0200 Subject: [PATCH] tests: New test run envvar to run gpg under valgrind. -- Take care: Running under valgrind takes loooong and in some case you may run into an valgrind internal error. Signed-off-by: Werner Koch --- tests/openpgp/README | 3 +++ tests/openpgp/defs.scm | 12 +++++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/tests/openpgp/README b/tests/openpgp/README index 94a00fa40..22b721177 100644 --- a/tests/openpgp/README +++ b/tests/openpgp/README @@ -25,6 +25,9 @@ spawned programs to their standard error stream, verbose=2 to see what programs are executed, or verbose=3 to see even more program output and exit codes. +If you want to run gpg under valgrind add with_valgrind=1. + + ** Inspecting the test environment To inspect the environment in which tests are running, or to quickly diff --git a/tests/openpgp/defs.scm b/tests/openpgp/defs.scm index 8fe953ebe..b864005ba 100644 --- a/tests/openpgp/defs.scm +++ b/tests/openpgp/defs.scm @@ -123,6 +123,7 @@ (define bin-prefix (getenv "BIN_PREFIX")) (define installed? (not (string=? "" bin-prefix))) +(define with-valgrind? (not (string=? (getenv "with_valgrind") ""))) (define (tool-hardcoded which) (let ((t (assoc which tools))) @@ -138,7 +139,8 @@ ;; (set! gpg `(,@valgrind ,@gpg)) ;; (define valgrind - '("/usr/bin/valgrind" --leak-check=full --error-exitcode=154)) + '("/usr/bin/valgrind" -q --leak-check=no --track-origins=yes + --error-exitcode=154 --exit-on-first-error=yes)) (unless installed? (setenv "GNUPG_BUILDDIR" (getenv "objdir") #t)) @@ -496,4 +498,12 @@ "but got" trust)))) +;; +;; Enable checking with valgrind if the envvar "with_valgrind" is set +;; +(when with-valgrind? + (set! gpg `(,@valgrind ,@gpg))) + + + ;; end