On 3/30/22 21:12, Tom Lane wrote: > Andrew Dunstan <and...@dunslane.net> writes: >>> On Mar 30, 2022, at 8:19 PM, Tom Lane <t...@sss.pgh.pa.us> wrote: >>> I think this means that its old Perl version misinterprets >>> use parent -norequire, qw(PostgreSQL::Test::Cluster); >>> as a request to include "parent.pm". Is there a more >>> backwards-compatible way to spell that? >> Not that I know of. Googling tells me it was a core module from 5.10.1. I >> can revert tomorrow if necessary :-(
I must have been half asleep when I posted this. There are three ways out of this that I can see: . carry a copy of parent.pm in src/test/perl (It's very small) . use the older and heavier 'base' module which goes back to 5.004, and does much the same thing (and a lot more) . just do directly what parent.pm's import() does, as in the attached, which I have tested down to version 10. On the whole I think I prefer the last. cheers andrew -- Andrew Dunstan EDB: https://www.enterprisedb.com
diff --git a/src/test/perl/PostgreSQL/Test/Cluster.pm b/src/test/perl/PostgreSQL/Test/Cluster.pm index fa0ef12d72..1bfbb75b01 100644 --- a/src/test/perl/PostgreSQL/Test/Cluster.pm +++ b/src/test/perl/PostgreSQL/Test/Cluster.pm @@ -2918,7 +2918,10 @@ sub corrupt_page_checksum package PostgreSQL::Test::Cluster::V_11; ## no critic (ProhibitMultiplePackages) -use parent -norequire, qw(PostgreSQL::Test::Cluster); +# parent.pm is not present in all perl versions before 5.10.1, so instead +# do directly what it would do for this: +# use parent -norequire, qw(PostgreSQL::Test::Cluster); +push @PostgreSQL::Test::Cluster::V_11::ISA, 'PostgreSQL::Test::Cluster'; # https://www.postgresql.org/docs/11/release-11.html @@ -2945,7 +2948,8 @@ sub init package PostgreSQL::Test::Cluster::V_10; ## no critic (ProhibitMultiplePackages) -use parent -norequire, qw(PostgreSQL::Test::Cluster::V_11); +# use parent -norequire, qw(PostgreSQL::Test::Cluster::V_11); +push @PostgreSQL::Test::Cluster::V_10::ISA, 'PostgreSQL::Test::Cluster::V_11'; # https://www.postgresql.org/docs/10/release-10.html