mirror of https://github.com/postgres/postgres
This eliminates many seconds of test duration and the cause to invoke "rm -rf", which is typically unavailable on Windows. Michael Paquier and Noah Mischpull/14/head
parent
84c08a7649
commit
1a629c1b16
@ -1,44 +1,36 @@ |
|||||||
|
# To test successful data directory creation with a additional feature, first |
||||||
|
# try to elaborate the "successful creation" test instead of adding a test. |
||||||
|
# Successful initdb consumes much time and I/O. |
||||||
|
|
||||||
use strict; |
use strict; |
||||||
use warnings; |
use warnings; |
||||||
use TestLib; |
use TestLib; |
||||||
use Test::More tests => 19; |
use Test::More tests => 14; |
||||||
|
|
||||||
my $tempdir = TestLib::tempdir; |
my $tempdir = TestLib::tempdir; |
||||||
|
my $xlogdir = "$tempdir/pgxlog"; |
||||||
|
my $datadir = "$tempdir/data"; |
||||||
|
|
||||||
program_help_ok('initdb'); |
program_help_ok('initdb'); |
||||||
program_version_ok('initdb'); |
program_version_ok('initdb'); |
||||||
program_options_handling_ok('initdb'); |
program_options_handling_ok('initdb'); |
||||||
|
|
||||||
command_ok([ 'initdb', "$tempdir/data" ], 'basic initdb'); |
command_fails([ 'initdb', '-S', "$tempdir/nonexistent" ], |
||||||
command_fails([ 'initdb', "$tempdir/data" ], 'existing data directory'); |
|
||||||
command_ok([ 'initdb', '-N', "$tempdir/data2" ], 'nosync'); |
|
||||||
command_ok([ 'initdb', '-S', "$tempdir/data2" ], 'sync only'); |
|
||||||
command_fails([ 'initdb', '-S', "$tempdir/data3" ], |
|
||||||
'sync missing data directory'); |
'sync missing data directory'); |
||||||
mkdir "$tempdir/data4" or BAIL_OUT($!); |
|
||||||
command_ok([ 'initdb', "$tempdir/data4" ], 'existing empty data directory'); |
|
||||||
|
|
||||||
system_or_bail "rm -rf '$tempdir'/*"; |
|
||||||
|
|
||||||
command_ok([ 'initdb', '-X', "$tempdir/pgxlog", "$tempdir/data" ], |
mkdir $xlogdir; |
||||||
'separate xlog directory'); |
mkdir "$xlogdir/lost+found"; |
||||||
|
|
||||||
system_or_bail "rm -rf '$tempdir'/*"; |
|
||||||
command_fails( |
command_fails( |
||||||
[ 'initdb', '-X', 'pgxlog', "$tempdir/data" ], |
[ 'initdb', '-X', $xlogdir, $datadir ], |
||||||
|
'existing nonempty xlog directory'); |
||||||
|
rmdir "$xlogdir/lost+found"; |
||||||
|
command_fails( |
||||||
|
[ 'initdb', '-X', 'pgxlog', $datadir ], |
||||||
'relative xlog directory not allowed'); |
'relative xlog directory not allowed'); |
||||||
|
|
||||||
system_or_bail "rm -rf '$tempdir'/*"; |
mkdir $datadir; |
||||||
mkdir "$tempdir/pgxlog"; |
command_ok([ 'initdb', '-N', '-T', 'german', '-X', $xlogdir, $datadir ], |
||||||
command_ok([ 'initdb', '-X', "$tempdir/pgxlog", "$tempdir/data" ], |
'successful creation'); |
||||||
'existing empty xlog directory'); |
|
||||||
|
|
||||||
system_or_bail "rm -rf '$tempdir'/*"; |
|
||||||
mkdir "$tempdir/pgxlog"; |
|
||||||
mkdir "$tempdir/pgxlog/lost+found"; |
|
||||||
command_fails([ 'initdb', '-X', "$tempdir/pgxlog", "$tempdir/data" ], |
|
||||||
'existing nonempty xlog directory'); |
|
||||||
|
|
||||||
system_or_bail "rm -rf '$tempdir'/*"; |
command_ok([ 'initdb', '-S', $datadir ], 'sync only'); |
||||||
command_ok([ 'initdb', '-T', 'german', "$tempdir/data" ], |
command_fails([ 'initdb', $datadir ], 'existing data directory'); |
||||||
'select default dictionary'); |
|
||||||
|
|||||||
Loading…
Reference in new issue