]> granicus.if.org Git - postgresql/commitdiff
pg_basebackup: Add tests for -R option
authorPeter Eisentraut <peter_e@gmx.net>
Wed, 1 Jul 2015 01:15:05 +0000 (21:15 -0400)
committerPeter Eisentraut <peter_e@gmx.net>
Wed, 29 Jul 2015 00:31:35 +0000 (20:31 -0400)
Reviewed-by: Michael Paquier <michael.paquier@gmail.com>
src/bin/pg_basebackup/t/010_pg_basebackup.pl
src/test/perl/TestLib.pm

index e47c3a0bb7cdd097217edce69d894de70176d4ac..4eb4ed102de267d16bdaaddfbe08979d8014a6b2 100644 (file)
@@ -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');
index 5ef95f0246ebe104dba048c972ed5d3ba2b0e033..ca287456b40455d82eb9dd8bc698c1b83a1dea8d 100644 (file)
@@ -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)