|
| 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 | + |
1 | 5 | use strict;
|
2 | 6 | use warnings;
|
3 | 7 | use TestLib;
|
4 |
| -use Test::Moretests=>19; |
| 8 | +use Test::Moretests=>14; |
5 | 9 |
|
6 | 10 | my$tempdir = TestLib::tempdir;
|
| 11 | +my$xlogdir ="$tempdir/pgxlog"; |
| 12 | +my$datadir ="$tempdir/data"; |
7 | 13 |
|
8 | 14 | program_help_ok('initdb');
|
9 | 15 | program_version_ok('initdb');
|
10 | 16 | program_options_handling_ok('initdb');
|
11 | 17 |
|
12 |
| -command_ok(['initdb',"$tempdir/data" ],'basic initdb'); |
13 |
| -command_fails(['initdb',"$tempdir/data" ],'existing data directory'); |
14 |
| -command_ok(['initdb','-N',"$tempdir/data2" ],'nosync'); |
15 |
| -command_ok(['initdb','-S',"$tempdir/data2" ],'sync only'); |
16 |
| -command_fails(['initdb','-S',"$tempdir/data3" ], |
| 18 | +command_fails(['initdb','-S',"$tempdir/nonexistent" ], |
17 | 19 | 'sync missing data directory');
|
18 |
| -mkdir"$tempdir/data4"or BAIL_OUT($!); |
19 |
| -command_ok(['initdb',"$tempdir/data4" ],'existing empty data directory'); |
20 |
| - |
21 |
| -system_or_bail"rm -rf '$tempdir'/*"; |
22 | 20 |
|
23 |
| -command_ok(['initdb','-X',"$tempdir/pgxlog","$tempdir/data" ], |
24 |
| -'separate xlog directory'); |
25 |
| - |
26 |
| -system_or_bail"rm -rf '$tempdir'/*"; |
| 21 | +mkdir$xlogdir; |
| 22 | +mkdir"$xlogdir/lost+found"; |
27 | 23 | command_fails(
|
28 |
| -['initdb','-X','pgxlog',"$tempdir/data" ], |
| 24 | +['initdb','-X',$xlogdir,$datadir ], |
| 25 | +'existing nonempty xlog directory'); |
| 26 | +rmdir"$xlogdir/lost+found"; |
| 27 | +command_fails( |
| 28 | +['initdb','-X','pgxlog',$datadir ], |
29 | 29 | 'relative xlog directory not allowed');
|
30 | 30 |
|
31 |
| -system_or_bail"rm -rf '$tempdir'/*"; |
32 |
| -mkdir"$tempdir/pgxlog"; |
33 |
| -command_ok(['initdb','-X',"$tempdir/pgxlog","$tempdir/data" ], |
34 |
| -'existing empty xlog directory'); |
35 |
| - |
36 |
| -system_or_bail"rm -rf '$tempdir'/*"; |
37 |
| -mkdir"$tempdir/pgxlog"; |
38 |
| -mkdir"$tempdir/pgxlog/lost+found"; |
39 |
| -command_fails(['initdb','-X',"$tempdir/pgxlog","$tempdir/data" ], |
40 |
| -'existing nonempty xlog directory'); |
| 31 | +mkdir$datadir; |
| 32 | +command_ok(['initdb','-N','-T','german','-X',$xlogdir,$datadir ], |
| 33 | +'successful creation'); |
41 | 34 |
|
42 |
| -system_or_bail"rm -rf '$tempdir'/*"; |
43 |
| -command_ok(['initdb','-T','german',"$tempdir/data" ], |
44 |
| -'select default dictionary'); |
| 35 | +command_ok(['initdb','-S',$datadir ],'sync only'); |
| 36 | +command_fails(['initdb',$datadir ],'existing data directory'); |