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
This commit is contained in:
parent
0ae3b46621
commit
686db12de3
|
@ -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})
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue