aboutsummaryrefslogtreecommitdiff
path: root/src/test/perl/PostgreSQL/Test
diff options
context:
space:
mode:
authorNoah Misch <noah@leadboat.com>2022-06-25 09:07:44 -0700
committerNoah Misch <noah@leadboat.com>2022-06-25 09:07:45 -0700
commitec26f44d539a70cdca068392fc08b1137fd72fe8 (patch)
tree59f222ab94c7005a4b04921dd58bb0e520123c0a /src/test/perl/PostgreSQL/Test
parent9e0d9a24ef88fa6bbca8d28cc7af9e3cde7b4886 (diff)
downloadpostgresql-ec26f44d539a70cdca068392fc08b1137fd72fe8.tar.gz
postgresql-ec26f44d539a70cdca068392fc08b1137fd72fe8.zip
For PostgreSQL::Test compatibility, alias entire package symbol tables.
Remove the need to edit back-branch-specific code sites when back-patching the addition of a PostgreSQL::Test::Utils symbol. Replace per-symbol, incomplete alias lists. Give old and new package names the same EXPORT and EXPORT_OK semantics. Back-patch to v10 (all supported versions). Reviewed by Andrew Dunstan. Discussion: https://postgr.es/m/20220622072144.GD4167527@rfd.leadboat.com
Diffstat (limited to 'src/test/perl/PostgreSQL/Test')
-rw-r--r--src/test/perl/PostgreSQL/Test/Cluster.pm9
-rw-r--r--src/test/perl/PostgreSQL/Test/Utils.pm37
2 files changed, 10 insertions, 36 deletions
diff --git a/src/test/perl/PostgreSQL/Test/Cluster.pm b/src/test/perl/PostgreSQL/Test/Cluster.pm
index 12339c23de1..14b8ee73776 100644
--- a/src/test/perl/PostgreSQL/Test/Cluster.pm
+++ b/src/test/perl/PostgreSQL/Test/Cluster.pm
@@ -1,9 +1,9 @@
# Copyright (c) 2022, PostgreSQL Global Development Group
-# allow use of release 15+ perl namespace in older branches
-# just 'use' the older module name.
-# See PostgresNode.pm for function implementations
+# Allow use of release 15+ Perl package name in older branches, by giving that
+# package the same symbol table as the older package. See PostgresNode::new
+# for supporting heuristics.
package PostgreSQL::Test::Cluster;
@@ -11,5 +11,8 @@ use strict;
use warnings;
use PostgresNode;
+BEGIN { *PostgreSQL::Test::Cluster:: = \*PostgresNode::; }
+
+use Exporter 'import';
1;
diff --git a/src/test/perl/PostgreSQL/Test/Utils.pm b/src/test/perl/PostgreSQL/Test/Utils.pm
index 9b3886a5c55..e743bdfc834 100644
--- a/src/test/perl/PostgreSQL/Test/Utils.pm
+++ b/src/test/perl/PostgreSQL/Test/Utils.pm
@@ -1,45 +1,16 @@
# Copyright (c) 2022, PostgreSQL Global Development Group
-# allow use of release 15+ perl namespace in older branches
-# just 'use' the older module name.
-# We export the same names as the v15 module.
-# See TestLib.pm for alias assignment that makes this all work.
+# Allow use of release 15+ Perl package name in older branches, by giving that
+# package the same symbol table as the older package.
package PostgreSQL::Test::Utils;
use strict;
use warnings;
-use Exporter 'import';
-
use TestLib;
+BEGIN { *PostgreSQL::Test::Utils:: = \*TestLib::; }
-our @EXPORT = qw(
- generate_ascii_string
- slurp_dir
- slurp_file
- append_to_file
- check_mode_recursive
- chmod_recursive
- check_pg_config
- system_or_bail
- system_log
- run_log
- run_command
- pump_until
-
- command_ok
- command_fails
- command_exit_is
- program_help_ok
- program_version_ok
- program_options_handling_ok
- command_like
- command_like_safe
- command_fails_like
- command_checks_all
-
- $windows_os
-);
+use Exporter 'import';
1;