nocfbot-test.patch
application/octet-stream
Filename: nocfbot-test.patch
Type: application/octet-stream
Part: 0
diff --git a/src/bin/pg_basebackup/t/030_pg_recvlogical.pl b/src/bin/pg_basebackup/t/030_pg_recvlogical.pl
index 063ad96b9be..757e66193fb 100644
--- a/src/bin/pg_basebackup/t/030_pg_recvlogical.pl
+++ b/src/bin/pg_basebackup/t/030_pg_recvlogical.pl
@@ -15,7 +15,7 @@ program_options_handling_ok('pg_recvlogical');
my $node = PostgreSQL::Test::Cluster->new('main');
# Initialize node without replication settings
-$node->init(allows_streaming => 1, has_archiving => 1);
+$node->init(allows_streaming => 1, has_archiving => 1, extra => [ '--allow-group-access' ]);
$node->append_conf(
'postgresql.conf', q{
wal_level = 'logical'
@@ -236,6 +236,18 @@ my $count = (() = $outfiledata =~ /INSERT/g);
cmp_ok($count, '==', 2,
'pg_recvlogical has received and written two INSERTs');
+# Check that the output file respects the cluster's group access permissions
+SKIP:
+{
+ skip "unix-style permissions not supported on Windows", 1
+ if ($Config{osname} eq 'MSWin32' || $Config{osname} eq 'cygwin');
+
+ # The cluster was initialized with --allow-group-access, so the output
+ # file created by pg_recvlogical should be 0640 (-rw-r-----).
+ my $mode = sprintf('%04o', (stat($outfile))[2] & 07777);
+ is($mode, '0640', 'pg_recvlogical output file respects group permissions (0640)');
+}
+
$node->command_ok(
[
'pg_recvlogical',