diff --git a/src/bin/pg_basebackup/t/010_pg_basebackup.pl b/src/bin/pg_basebackup/t/010_pg_basebackup.pl index e47c3a0bb7cdd097217edce69d894de70176d4ac..4eb4ed102de267d16bdaaddfbe08979d8014a6b2 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 5ef95f0246ebe104dba048c972ed5d3ba2b0e033..ca287456b40455d82eb9dd8bc698c1b83a1dea8d 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)