On 2 March 2016 at 11:23, Craig Ringer <cr...@2ndquadrant.com> wrote:
> Really, this time. > Really, really this time, the version in git that actually works, not a format-patch'd version before I made a last fix. Sigh. I can't even blame lack of coffee... -- Craig Ringer http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services
From a6aa0139cc8fea2fb93b7c3087d8878d8923c49a Mon Sep 17 00:00:00 2001 From: Craig Ringer <cr...@2ndquadrant.com> Date: Wed, 2 Mar 2016 11:17:46 +0800 Subject: [PATCH] TAP: Fix Perl 5.8.8 support Commit 7132810c (Retain tempdirs for failed tests) used the is_passing method present only after Perl 5.10 in Test::More 0.89_01. Work around its absence. --- src/test/perl/TestLib.pm | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/test/perl/TestLib.pm b/src/test/perl/TestLib.pm index 63a0e77..1900922 100644 --- a/src/test/perl/TestLib.pm +++ b/src/test/perl/TestLib.pm @@ -110,7 +110,23 @@ INIT END { # Preserve temporary directory for this test on failure - $File::Temp::KEEP_ALL = 1 unless Test::More->builder->is_passing; + # + # We should be able to use Test::More->builder->is_passing here, but + # we require Perl 5.8.8 support so we have to work around it. + # + $File::Temp::KEEP_ALL = 1 unless all_tests_passing(); +} + +# Workaround for is_passing being missing prior to Test::More 0.89_01 +# Credit http://stackoverflow.com/a/1506700/398670 +sub all_tests_passing +{ + my $FAILcount = 0; + foreach my $detail (Test::Builder->details()) + { + if (${%$detail}{ok} == 0) { $FAILcount++; } + } + return !$FAILcount; } # -- 2.1.0
-- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers