From 36dc30aa7e0ab9628a5a975a921b8ff82e8f31bf Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Tue, 30 Jun 2015 21:15:05 -0400 Subject: [PATCH] pg_basebackup: Add tests for -R option Reviewed-by: Michael Paquier --- src/bin/pg_basebackup/t/010_pg_basebackup.pl | 9 ++++++++- src/test/perl/TestLib.pm | 8 ++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/bin/pg_basebackup/t/010_pg_basebackup.pl b/src/bin/pg_basebackup/t/010_pg_basebackup.pl index e47c3a0bb7..4eb4ed102d 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 => 35; +use Test::More tests => 39; program_help_ok('pg_basebackup'); program_version_ok('pg_basebackup'); @@ -138,3 +138,10 @@ psql 'postgres', command_ok([ 'pg_basebackup', '-D', "$tempdir/tarbackup_l3", '-Ft' ], 'pg_basebackup tar with long symlink target'); psql 'postgres', "DROP TABLESPACE tblspc3;"; + +command_ok([ 'pg_basebackup', '-D', "$tempdir/backupR", '-R' ], + 'pg_basebackup -R runs'); +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'); diff --git a/src/test/perl/TestLib.pm b/src/test/perl/TestLib.pm index 5ef95f0246..ca287456b4 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_file system_or_bail system_log run_log @@ -175,6 +176,13 @@ sub psql run [ 'psql', '-X', '-q', '-d', $dbname, '-f', '-' ], '<', \$sql or die; } +sub slurp_file +{ + local $/; + local @ARGV = @_; + <> +} + sub system_or_bail { if (system_log(@_) != 0)