]> granicus.if.org Git - postgresql/commitdiff
Fix TAP tests for older Perls.
authorTom Lane <tgl@sss.pgh.pa.us>
Wed, 2 Mar 2016 06:06:31 +0000 (01:06 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 2 Mar 2016 06:06:31 +0000 (01:06 -0500)
Commit 7132810c (Retain tempdirs for failed tests) used Test::More's
is_passing method, but that was added in Test::More 0.89_01 which is
sometime later than Perl 5.10.1.  Popular platforms such as RHEL6 don't
have that, nevermind some of our older dinosaurs.  Do it the hard way.

Michael Paquier, based on research by Craig Ringer

src/test/perl/TestLib.pm

index 4fb43fee21ca210416232b873cee3b9e94b78a65..564936e5e5758f4fd5ee96f6917cd77e2274691c 100644 (file)
@@ -110,7 +110,17 @@ INIT
 END
 {
        # Preserve temporary directory for this test on failure
-       $File::Temp::KEEP_ALL = 1 unless Test::More->builder->is_passing;
+       $File::Temp::KEEP_ALL = 1 unless all_tests_passing();
+}
+
+sub all_tests_passing
+{
+       my $fail_count = 0;
+       foreach my $status (Test::More->builder->summary)
+       {
+               return 0 unless $status;
+       }
+       return 1;
 }
 
 #