Replace use of stat()[7] by -s switch in TAP tests to retrieve file size
The list form of stat() is an inelegant API as it relies on the position of the file size in the list returned in result. Like in any other places of the tree, replace that with a -s switch instead. Another suggestion from Dagfinn is File::Stat, which we've been already using for some other fields. It really comes down to a matter of taste to choose that over -s, and the latter is more used in the tree. Author: Bertrand Drouvot Reviewed-by: Dagfinn Ilmari Mannsåker Discussion: https://postgr.es/m/b2020df7-d0fc-4ea5-b2a9-7efc6d36b2ac@gmail.com
This commit is contained in:
parent
06c0c36884
commit
6c77bb42ab
@ -24,7 +24,7 @@ command_like([ 'pg_controldata', $node->data_dir ],
|
||||
# check with a corrupted pg_control
|
||||
|
||||
my $pg_control = $node->data_dir . '/global/pg_control';
|
||||
my $size = (stat($pg_control))[7];
|
||||
my $size = -s $pg_control;
|
||||
|
||||
open my $fh, '>', $pg_control or BAIL_OUT($!);
|
||||
binmode $fh;
|
||||
|
@ -14,7 +14,7 @@ my $node = PostgreSQL::Test::Cluster->new('main');
|
||||
$node->init;
|
||||
|
||||
my $pg_control = $node->data_dir . '/global/pg_control';
|
||||
my $size = (stat($pg_control))[7];
|
||||
my $size = -s $pg_control;
|
||||
|
||||
# Read out the head of the file to get PG_CONTROL_VERSION in
|
||||
# particular.
|
||||
|
@ -173,7 +173,7 @@ $node_primary->safe_psql('postgres',
|
||||
"ALTER SYSTEM SET max_wal_size='40MB'; SELECT pg_reload_conf()");
|
||||
|
||||
# Advance WAL again. The slot loses the oldest segment by the next checkpoint
|
||||
my $logstart = get_log_size($node_primary);
|
||||
my $logstart = -s $node_primary->logfile;
|
||||
advance_wal($node_primary, 7);
|
||||
|
||||
# Now create another checkpoint and wait until the WARNING is issued
|
||||
@ -229,7 +229,7 @@ $node_primary->safe_psql('postgres',
|
||||
is($oldestseg, $redoseg, "check that segments have been removed");
|
||||
|
||||
# The standby no longer can connect to the primary
|
||||
$logstart = get_log_size($node_standby);
|
||||
$logstart = -s $node_standby->logfile;
|
||||
$node_standby->start;
|
||||
|
||||
my $failed = 0;
|
||||
@ -368,7 +368,7 @@ my $receiverpid = $node_standby3->safe_psql('postgres',
|
||||
"SELECT pid FROM pg_stat_activity WHERE backend_type = 'walreceiver'");
|
||||
like($receiverpid, qr/^[0-9]+$/, "have walreceiver pid $receiverpid");
|
||||
|
||||
$logstart = get_log_size($node_primary3);
|
||||
$logstart = -s $node_primary3->logfile;
|
||||
# freeze walsender and walreceiver. Slot will still be active, but walreceiver
|
||||
# won't get anything anymore.
|
||||
kill 'STOP', $senderpid, $receiverpid;
|
||||
@ -433,12 +433,4 @@ sub advance_wal
|
||||
return;
|
||||
}
|
||||
|
||||
# return the size of logfile of $node in bytes
|
||||
sub get_log_size
|
||||
{
|
||||
my ($node) = @_;
|
||||
|
||||
return (stat $node->logfile)[7];
|
||||
}
|
||||
|
||||
done_testing();
|
||||
|
Loading…
x
Reference in New Issue
Block a user