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
 

Reply via email to