From d754608f55e0c4454f61c51f052159b038f17f8f Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Sun, 26 Mar 2017 21:06:11 +0200 Subject: [PATCH] autotest: improve valgrind integration introduce recognition of $USE_VALGRIND to run all mbsync invocations through valgrind. this also removes the seemingly purposeless --log-fd=3 indirection. --- src/run-tests.pl | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/run-tests.pl b/src/run-tests.pl index 6515a50..6783db7 100755 --- a/src/run-tests.pl +++ b/src/run-tests.pl @@ -21,6 +21,7 @@ use strict; use Cwd; use File::Path; +my $use_vg = $ENV{USE_VALGRIND}; my $mbsync = getcwd()."/mbsync"; -d "tmp" or mkdir "tmp"; @@ -282,8 +283,14 @@ sub runsync($$) { my ($flags, $file) = @_; -# open FILE, "valgrind -q --log-fd=3 $mbsync $flags -c .mbsyncrc test 3>&2 2>&1 |"; - open FILE, "$mbsync -D -Z $flags -c .mbsyncrc test 2>&1 |"; + my $cmd; + if ($use_vg) { + $cmd = "valgrind -q --error-exitcode=1 "; + } else { + $flags .= " -D"; + } + $cmd .= "$mbsync -Z $flags -c .mbsyncrc test"; + open FILE, "$cmd 2>&1 |"; my @out = ; close FILE or push(@out, $! ? "*** error closing mbsync: $!\n" : "*** mbsync exited with signal ".($?&127).", code ".($?>>8)."\n"); if ($file) {