mirror of
https://github.com/postgres/postgres.git
synced 2025-08-17 01:02:17 +03:00
Add TAP tests for client programs
Reviewed-by: Pavel Stěhule <pavel.stehule@gmail.com> Reviewed-by: Erik Rijkers <er@xs4all.nl>
This commit is contained in:
2
src/bin/initdb/.gitignore
vendored
2
src/bin/initdb/.gitignore
vendored
@@ -2,3 +2,5 @@
|
||||
/localtime.c
|
||||
|
||||
/initdb
|
||||
|
||||
/tmp_check/
|
||||
|
@@ -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)
|
||||
|
37
src/bin/initdb/t/001_initdb.pl
Normal file
37
src/bin/initdb/t/001_initdb.pl
Normal file
@@ -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');
|
Reference in New Issue
Block a user