On Tue, Nov 23, 2021 at 12:03:05PM -0500, Tom Lane wrote:
> Attached are a couple of patches I propose in the wake of commit
> 405f32fc4 (Require version 0.98 of Test::More for TAP tests).
>
> 0001 responds to the failure we saw on buildfarm member wrasse [1]
> where, despite configure having carefully checked for Test::More
> being >= 0.98, actual tests failed with
> Test::More version 0.98 required--this is only version 0.92 at
/export/home/nm/farm/studio64v12_6/HEAD/pgsql.build/../pgsql/src/test/perl/PostgreSQL/Test/Utils.pmline 63.
> The reason is that wrasse was choosing "prove" from a different
> Perl installation than "perl", as a result of its configuration
> having set PERL to a nondefault place but doing nothing about PROVE.
>
> We already installed a couple of mitigations for that:
> (a) as of c4fe3199a, configure checks "prove" not "perl" for
> appropriate module versions;
> (b) Noah has modified wrasse's configuration to set PROVE.
> But I'm of the opinion that (b) should not be necessary.
> If you set PERL then it's highly likely that you want to use
> "prove" from the same installation.
My regular development system is a counterexample. It uses system Perl, but
it has a newer "prove" from CPAN:
$ grep -E '(PERL|PROVE)' config.status
S["PROVE"]="/home/nm/sw/cpan/bin/prove"
S["PERL"]="/usr/bin/perl"
The patch sends it back to using the system "prove":
S["PROVE"]="/usr/bin/prove"
S["PERL"]="/usr/bin/perl"
I could, of course, override that. But with so little evidence about systems
helped by the proposed change, I'm now -1.0 on it.
> 0002 is written to apply to v14 and earlier, and what it wants
> to do is back-patch the effects of 405f32fc4, so that the
> minimum Test::More version is 0.98 in all branches. The thought
> here is that (1) somebody is likely to want to back-patch a
> test involving Test::More::subtest before too long; (2) we have
> zero coverage for older Test::More versions anyway, now that
> all buildfarm members have been updated to work with HEAD.
wrasse v10..v14 is testing older Test::More, so coverage persists. However, I
am okay with this change.