# Roll your own File::Find!
use TestInit;
use File::Spec;
-use Time::HiRes;
+if ($show_elapsed_time) { require Time::HiRes }
my $curdir = File::Spec->curdir;
my $updir = File::Spec->updir;
my $totmax = 0;
while (my $test = shift @tests) {
- my $test_start_time = Time::HiRes::time();
+ my $test_start_time = $show_elapsed_time ? Time::HiRes::time() : 0;
if ( $::infinite{$test} && $type eq 'compile' ) {
print STDERR "$test creates infinite loop! Skipping.\n";
my $perl = $ENV{PERL} || './perl';
my $redir = $^O eq 'VMS' ? '2>&1' : '';
if ($ENV{PERL_VALGRIND}) {
- $perl = "valgrind --suppressions=perl.supp --leak-check=yes "
- . "--leak-resolution=high --show-reachable=yes "
- . "--num-callers=50 --logfile-fd=3 $perl";
+ my $valgrind = $ENV{VALGRIND} // 'valgrind';
+ $perl = "$valgrind --suppressions=perl.supp --leak-check=yes "
+ . "--leak-resolution=high --show-reachable=yes "
+ . "--num-callers=50 --log-fd=3 $perl";
$redir = "3>$valgrind_log";
}
my $run = "$perl" . _quote_args("$testswitch $switch $utf8")
die "FAILED--Further testing stopped" . ($1 ? ": $1\n" : ".\n");
}
else {
+ # module tests are allowed extra output,
+ # because Test::Harness allows it
+ next if $test =~ /^\W*(ext|lib)\b/;
$failure = "FAILED--unexpected output at test $next";
last;
}