diff --git a/src/test/perl/PostgreSQL/Test/Cluster.pm b/src/test/perl/PostgreSQL/Test/Cluster.pm new file mode 100644 index 0000000000..1e2fb50d6d --- /dev/null +++ b/src/test/perl/PostgreSQL/Test/Cluster.pm @@ -0,0 +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. +# See PostgresNode.pm for function implementations + +package PostgreSQL::Test::Cluster; + +use strict; +use warnings; + +use PostgresNode; + +1; + diff --git a/src/test/perl/PostgreSQL/Test/Utils.pm b/src/test/perl/PostgreSQL/Test/Utils.pm new file mode 100644 index 0000000000..fd71968ea8 --- /dev/null +++ b/src/test/perl/PostgreSQL/Test/Utils.pm @@ -0,0 +1,45 @@ +# 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. + +package PostgreSQL::Test::Utils; + +use strict; +use warnings; + +use Exporter 'import'; + +use 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 + + 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_unix_sockets +); + +1; diff --git a/src/test/perl/PostgresNode.pm b/src/test/perl/PostgresNode.pm index 83464733fa..35650e2640 100644 --- a/src/test/perl/PostgresNode.pm +++ b/src/test/perl/PostgresNode.pm @@ -2381,4 +2381,18 @@ sub corrupt_page_checksum =cut +# support release 15+ perl module namespace + +package PostgreSQL::Test::Cluster; ## no critic (ProhibitMultiplePackages) + +sub new +{ + shift; # remove class param from args + return PostgresNode->get_new_node(@_); +} + +no warnings 'once'; + +*get_free_port = *PostgresNode::get_free_port; + 1; diff --git a/src/test/perl/TestLib.pm b/src/test/perl/TestLib.pm index 8d65fdc36a..af06cdac5b 100644 --- a/src/test/perl/TestLib.pm +++ b/src/test/perl/TestLib.pm @@ -900,4 +900,44 @@ sub command_checks_all =cut +# support release 15+ perl module namespace + +package PostgreSQL::Test::Utils; ## no critic (ProhibitMultiplePackages) + +# we don't want to export anything here, but we want to support things called +# via this package name explicitly. + +# use typeglobs to alias these functions and variables + +no warnings qw(once); + +*generate_ascii_string = *TestLib::generate_ascii_string; +*slurp_dir = *TestLib::slurp_dir; +*slurp_file = *TestLib::slurp_file; +*append_to_file = *TestLib::append_to_file; +*check_mode_recursive = *TestLib::check_mode_recursive; +*chmod_recursive = *TestLib::chmod_recursive; +*check_pg_config = *TestLib::check_pg_config; +*system_or_bail = *TestLib::system_or_bail; +*system_log = *TestLib::system_log; +*run_log = *TestLib::run_log; +*run_command = *TestLib::run_command; +*command_ok = *TestLib::command_ok; +*command_fails = *TestLib::command_fails; +*command_exit_is = *TestLib::command_exit_is; +*program_help_ok = *TestLib::program_help_ok; +*program_version_ok = *TestLib::program_version_ok; +*program_options_handling_ok = *TestLib::program_options_handling_ok; +*command_like = *TestLib::command_like; +*command_like_safe = *TestLib::command_like_safe; +*command_fails_like = *TestLib::command_fails_like; +*command_checks_all = *TestLib::command_checks_all; + +*windows_os = *TestLib::windows_os; +*use_unix_sockets = *TestLib::use_unix_sockets; +*timeout_default = *TestLib::timeout_default; +*tmp_check = *TestLib::tmp_check; +*log_path = *TestLib::log_path; +*test_logfile = *TestLib::test_log_file; + 1;