]> granicus.if.org Git - postgresql/blob - src/bin/initdb/t/001_initdb.pl
299dcf5b3b98ee343343f974882cc81a6be12235
[postgresql] / src / bin / initdb / t / 001_initdb.pl
1 # To test successful data directory creation with a additional feature, first
2 # try to elaborate the "successful creation" test instead of adding a test.
3 # Successful initdb consumes much time and I/O.
4
5 use strict;
6 use warnings;
7 use TestLib;
8 use Test::More tests => 14;
9
10 my $tempdir = TestLib::tempdir;
11 my $xlogdir = "$tempdir/pgxlog";
12 my $datadir = "$tempdir/data";
13
14 program_help_ok('initdb');
15 program_version_ok('initdb');
16 program_options_handling_ok('initdb');
17
18 command_fails([ 'initdb', '-S', "$tempdir/nonexistent" ],
19         'sync missing data directory');
20
21 mkdir $xlogdir;
22 mkdir "$xlogdir/lost+found";
23 command_fails(
24         [ 'initdb', '-X', $xlogdir, $datadir ],
25         'existing nonempty xlog directory');
26 rmdir "$xlogdir/lost+found";
27 command_fails(
28         [ 'initdb', '-X', 'pgxlog', $datadir ],
29         'relative xlog directory not allowed');
30
31 mkdir $datadir;
32 command_ok([ 'initdb', '-N', '-T', 'german', '-X', $xlogdir, $datadir ],
33         'successful creation');
34
35 command_ok([ 'initdb', '-S', $datadir ], 'sync only');
36 command_fails([ 'initdb', $datadir ], 'existing data directory');