diff --git a/test/run_tests.pl b/test/run_tests.pl index 4ee6a036a9769ccf09d1373b1b8eb6f123e2c0a0..9e2ea8438b182554a9e420ffff8a876e6a401654 100644 --- a/test/run_tests.pl +++ b/test/run_tests.pl @@ -314,10 +314,12 @@ my $harness = $package->new(\%tapargs); my $ret = $harness->runtests(map { [ abs2rel($_, rel2abs(curdir())), basename($_) ] } @preps); -die if $ret->has_errors; -$ret = - $harness->runtests(map { [ abs2rel($_, rel2abs(curdir())), basename($_) ] } - sort { reorder($a) cmp reorder($b) } keys %tests); + +if (ref($ret) ne "TAP::Parser::Aggregator" || !$ret->has_errors) { + $ret = + $harness->runtests(map { [ abs2rel($_, rel2abs(curdir())), basename($_) ] } + sort { reorder($a) cmp reorder($b) } keys %tests); +} # If this is a TAP::Parser::Aggregator, $ret->has_errors is the count of # tests that failed. We don't bother with that exact number, just exit