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.
This commit is contained in:
Oswald Buddenhagen 2017-03-26 21:06:11 +02:00
parent f29bed526b
commit d754608f55

View File

@ -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 = <FILE>;
close FILE or push(@out, $! ? "*** error closing mbsync: $!\n" : "*** mbsync exited with signal ".($?&127).", code ".($?>>8)."\n");
if ($file) {