diff options
| author | Peter Eisentraut | 2014-04-15 01:33:46 +0000 |
|---|---|---|
| committer | Peter Eisentraut | 2014-04-15 01:33:46 +0000 |
| commit | 7d0f493f19607774fdccb1a1ea06fdd96a3d9698 (patch) | |
| tree | 71076e4ce36fa06d4637858f1435ef3f7ecd73b6 /src/bin/initdb | |
| parent | 7b5a9d61a8202c46f4cc02878eafa8367080c59a (diff) | |
Add TAP tests for client programs
Reviewed-by: Pavel Stěhule <pavel.stehule@gmail.com>
Reviewed-by: Erik Rijkers <er@xs4all.nl>
Diffstat (limited to 'src/bin/initdb')
| -rw-r--r-- | src/bin/initdb/.gitignore | 2 | ||||
| -rw-r--r-- | src/bin/initdb/Makefile | 7 | ||||
| -rw-r--r-- | src/bin/initdb/t/001_initdb.pl | 37 |
3 files changed, 46 insertions, 0 deletions
diff --git a/src/bin/initdb/.gitignore b/src/bin/initdb/.gitignore index 0f74727d8f6..71a899ffb8a 100644 --- a/src/bin/initdb/.gitignore +++ b/src/bin/initdb/.gitignore @@ -2,3 +2,5 @@ /localtime.c /initdb + +/tmp_check/ diff --git a/src/bin/initdb/Makefile b/src/bin/initdb/Makefile index 1ece7acf44a..fb7d1424874 100644 --- a/src/bin/initdb/Makefile +++ b/src/bin/initdb/Makefile @@ -57,3 +57,10 @@ clean distclean maintainer-clean: # ensure that changes in datadir propagate into object file initdb.o: initdb.c $(top_builddir)/src/Makefile.global + + +check: all + $(prove_check) + +installcheck: + $(prove_installcheck) diff --git a/src/bin/initdb/t/001_initdb.pl b/src/bin/initdb/t/001_initdb.pl new file mode 100644 index 00000000000..ad6d74cc0dd --- /dev/null +++ b/src/bin/initdb/t/001_initdb.pl @@ -0,0 +1,37 @@ +use strict; +use warnings; +use TestLib; +use Test::More tests => 14; + +my $tempdir = TestLib::tempdir; + +program_help_ok('initdb'); +program_version_ok('initdb'); +program_options_handling_ok('initdb'); + +command_ok(['initdb', "$tempdir/data"], 'basic initdb'); +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'); +mkdir "$tempdir/data4" or BAIL_OUT($!); +command_ok(['initdb', "$tempdir/data4"], 'existing empty data directory'); + +system_or_bail "rm -rf $tempdir/*"; + +command_ok(['initdb', "$tempdir/data", '-X', "$tempdir/pgxlog"], 'separate xlog directory'); + +system_or_bail "rm -rf $tempdir/*"; +command_fails(['initdb', "$tempdir/data", '-X', 'pgxlog'], 'relative xlog directory not allowed'); + +system_or_bail "rm -rf $tempdir/*"; +mkdir "$tempdir/pgxlog"; +command_ok(['initdb', "$tempdir/data", '-X', "$tempdir/pgxlog"], 'existing empty xlog directory'); + +system_or_bail "rm -rf $tempdir/*"; +mkdir "$tempdir/pgxlog"; +mkdir "$tempdir/pgxlog/lost+found"; +command_fails(['initdb', "$tempdir/data", '-X', "$tempdir/pgxlog"], 'existing nonempty xlog directory'); + +system_or_bail "rm -rf $tempdir/*"; +command_ok(['initdb', "$tempdir/data", '-T', 'german'], 'select default dictionary'); |
