diff options
author | Peter Eisentraut <peter_e@gmx.net> | 2015-06-30 21:15:29 -0400 |
---|---|---|
committer | Peter Eisentraut <peter_e@gmx.net> | 2015-07-28 20:31:35 -0400 |
commit | 90102bb538831fca734cc9fa1450b97c7d4e1190 (patch) | |
tree | c3baafaf3651a7ac00af45fbb6721370fa8170b4 /src | |
parent | 36dc30aa7e0ab9628a5a975a921b8ff82e8f31bf (diff) | |
download | postgresql-90102bb538831fca734cc9fa1450b97c7d4e1190.tar.gz postgresql-90102bb538831fca734cc9fa1450b97c7d4e1190.zip |
pg_basebackup: Add tests for -X option
Reviewed-by: Michael Paquier <michael.paquier@gmail.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/bin/pg_basebackup/t/010_pg_basebackup.pl | 13 | ||||
-rw-r--r-- | src/test/perl/TestLib.pm | 10 |
2 files changed, 22 insertions, 1 deletions
diff --git a/src/bin/pg_basebackup/t/010_pg_basebackup.pl b/src/bin/pg_basebackup/t/010_pg_basebackup.pl index 4eb4ed102de..bf9fdcff6c7 100644 --- a/src/bin/pg_basebackup/t/010_pg_basebackup.pl +++ b/src/bin/pg_basebackup/t/010_pg_basebackup.pl @@ -2,7 +2,7 @@ use strict; use warnings; use Cwd; use TestLib; -use Test::More tests => 39; +use Test::More tests => 44; program_help_ok('pg_basebackup'); program_version_ok('pg_basebackup'); @@ -46,6 +46,10 @@ command_ok([ 'pg_basebackup', '-D', "$tempdir/backup" ], 'pg_basebackup runs'); ok(-f "$tempdir/backup/PG_VERSION", 'backup was created'); +is_deeply([sort(slurp_dir("$tempdir/backup/pg_xlog/"))], + [sort qw(. .. archive_status)], + 'no WAL files copied'); + command_ok( [ 'pg_basebackup', '-D', "$tempdir/backup2", '--xlogdir', "$tempdir/xlog2" ], @@ -145,3 +149,10 @@ ok(-f "$tempdir/backupR/recovery.conf", 'recovery.conf was created'); my $recovery_conf = slurp_file "$tempdir/backupR/recovery.conf"; like($recovery_conf, qr/^standby_mode = 'on'$/m, 'recovery.conf sets standby_mode'); like($recovery_conf, qr/^primary_conninfo = '.*port=$ENV{PGPORT}.*'$/m, 'recovery.conf sets primary_conninfo'); + +command_ok([ 'pg_basebackup', '-D', "$tempdir/backupxf", '-X', 'fetch' ], + 'pg_basebackup -X fetch runs'); +ok(grep(/^[0-9A-F]{24}$/, slurp_dir("$tempdir/backupxf/pg_xlog")), 'WAL files copied'); +command_ok([ 'pg_basebackup', '-D', "$tempdir/backupxs", '-X', 'stream' ], + 'pg_basebackup -X stream runs'); +ok(grep(/^[0-9A-F]{24}$/, slurp_dir("$tempdir/backupxf/pg_xlog")), 'WAL files copied'); diff --git a/src/test/perl/TestLib.pm b/src/test/perl/TestLib.pm index ca287456b40..f0379b72256 100644 --- a/src/test/perl/TestLib.pm +++ b/src/test/perl/TestLib.pm @@ -11,6 +11,7 @@ our @EXPORT = qw( start_test_server restart_test_server psql + slurp_dir slurp_file system_or_bail system_log @@ -176,6 +177,15 @@ sub psql run [ 'psql', '-X', '-q', '-d', $dbname, '-f', '-' ], '<', \$sql or die; } +sub slurp_dir +{ + my ($dir) = @_; + opendir(my $dh, $dir) or die; + my @direntries = readdir $dh; + closedir $dh; + return @direntries; +} + sub slurp_file { local $/; |