aboutsummaryrefslogtreecommitdiff
path: root/src/test/perl/PostgreSQL/Test/Cluster.pm
diff options
context:
space:
mode:
authorPeter Eisentraut <peter@eisentraut.org>2024-01-18 08:46:42 +0100
committerPeter Eisentraut <peter@eisentraut.org>2024-01-18 08:46:42 +0100
commit686db12de3a01222de6bce56f40f4fb9259f7b37 (patch)
tree287a62a79df7a7354ea6018c6367cc90614a28af /src/test/perl/PostgreSQL/Test/Cluster.pm
parent0ae3b466210316ebedbe123b64b46ac2dc1fc04f (diff)
downloadpostgresql-686db12de3a01222de6bce56f40f4fb9259f7b37.tar.gz
postgresql-686db12de3a01222de6bce56f40f4fb9259f7b37.zip
Fix an issue in PostgreSQL::Test::Cluster:psql()
Due to the commit c5385929 which made all Perl warnings to fatal, use of PostgreSQL::Test::Cluster:psql() and safe_psql() with timeout started to fail with the following error: Use of uninitialized value $ret in bitwise and (&) at ..src/test/perl/PostgreSQL/Test/Cluster.pm line 2015. Fix that by placing $ret conversion code in psql() in an if (defined $ret) block. With this change, the behavior of psql() becomes same as before, that is, the whole function returns undef on timeout, which is usefully different from returning 0. Author: Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com> Discussion: https://www.postgresql.org/message-id/flat/06f899fd-1826-05ab-42d6-adeb1fd5e200%40eisentraut.org
Diffstat (limited to 'src/test/perl/PostgreSQL/Test/Cluster.pm')
-rw-r--r--src/test/perl/PostgreSQL/Test/Cluster.pm15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/test/perl/PostgreSQL/Test/Cluster.pm b/src/test/perl/PostgreSQL/Test/Cluster.pm
index 406c405015b..e2e70d0dbf9 100644
--- a/src/test/perl/PostgreSQL/Test/Cluster.pm
+++ b/src/test/perl/PostgreSQL/Test/Cluster.pm
@@ -2012,12 +2012,15 @@ sub psql
# We don't use IPC::Run::Simple to limit dependencies.
#
# We always die on signal.
- my $core = $ret & 128 ? " (core dumped)" : "";
- die "psql exited with signal "
- . ($ret & 127)
- . "$core: '$$stderr' while running '@psql_params'"
- if $ret & 127;
- $ret = $ret >> 8;
+ if (defined $ret)
+ {
+ my $core = $ret & 128 ? " (core dumped)" : "";
+ die "psql exited with signal "
+ . ($ret & 127)
+ . "$core: '$$stderr' while running '@psql_params'"
+ if $ret & 127;
+ $ret = $ret >> 8;
+ }
if ($ret && $params{on_error_die})
{