On 2 March 2016 at 11:22, Craig Ringer <cr...@2ndquadrant.com> wrote:
> 2016-03-02 6:57 GMT+08:00 Alvaro Herrera <alvhe...@2ndquadrant.com>: > >> Just pushed 0006. >> >> > This upset buildfarm members running prehistoric Perl versions because > is_passing was added after 5.8.8. > > Fix attached. > Really, this time. -- Craig Ringer http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services
From bd913623092d92cc65d5b94b1b0c3fd5e66b8856 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..c069d43 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