summaryrefslogtreecommitdiff
path: root/src/bin/initdb/t/001_initdb.pl
diff options
context:
space:
mode:
Diffstat (limited to 'src/bin/initdb/t/001_initdb.pl')
-rw-r--r--src/bin/initdb/t/001_initdb.pl20
1 files changed, 19 insertions, 1 deletions
diff --git a/src/bin/initdb/t/001_initdb.pl b/src/bin/initdb/t/001_initdb.pl
index 9dfb2ed96f..8609d2ecbc 100644
--- a/src/bin/initdb/t/001_initdb.pl
+++ b/src/bin/initdb/t/001_initdb.pl
@@ -4,9 +4,11 @@
use strict;
use warnings;
+use Fcntl ':mode';
+use File::stat qw{lstat};
use PostgresNode;
use TestLib;
-use Test::More tests => 16;
+use Test::More tests => 18;
my $tempdir = TestLib::tempdir;
my $xlogdir = "$tempdir/pgxlog";
@@ -57,3 +59,19 @@ mkdir $datadir;
}
command_ok([ 'initdb', '-S', $datadir ], 'sync only');
command_fails([ 'initdb', $datadir ], 'existing data directory');
+
+# Check group access on PGDATA
+SKIP:
+{
+ skip "unix-style permissions not supported on Windows", 2 if ($windows_os);
+
+ # Init a new db with group access
+ my $datadir_group = "$tempdir/data_group";
+
+ command_ok(
+ [ 'initdb', '-g', $datadir_group ],
+ 'successful creation with group access');
+
+ ok(check_mode_recursive($datadir_group, 0750, 0640),
+ 'check PGDATA permissions');
+}