Commit 54a5ed22 authored by Andrew Dunstan's avatar Andrew Dunstan

Further refinement of stuck_on_old_timeline recovery test

TestLib::perl2host can take a file argument as well as a directory
argument, so that code becomes substantially simpler. Also add comments
on why we're using forward slashes, and why we're setting
PERL_BADLANG=0.

Discussion: https://postgr.es/m/e9947bcd-20ee-027c-f0fe-01f736b7e345@dunslane.net
parent 817bb0a7
...@@ -24,11 +24,11 @@ my $node_primary = get_new_node('primary'); ...@@ -24,11 +24,11 @@ my $node_primary = get_new_node('primary');
# the timeline history file reaches the archive but before any of the WAL files # the timeline history file reaches the archive but before any of the WAL files
# get there. # get there.
$node_primary->init(allows_streaming => 1, has_archiving => 1); $node_primary->init(allows_streaming => 1, has_archiving => 1);
my $perlbin = $^X;
if ($^O eq 'msys') # Note: consistent use of forward slashes here avoids any escaping problems
{ # that arise from use of backslashes. That means we need to double-quote all
$perlbin = TestLib::perl2host(dirname($^X)) . '\\' . basename($^X); # the paths in the archive_command
} my $perlbin = TestLib::perl2host($^X);
$perlbin =~ s!\\!/!g if $TestLib::windows_os; $perlbin =~ s!\\!/!g if $TestLib::windows_os;
my $archivedir_primary = $node_primary->archive_dir; my $archivedir_primary = $node_primary->archive_dir;
$archivedir_primary =~ s!\\!/!g if $TestLib::windows_os; $archivedir_primary =~ s!\\!/!g if $TestLib::windows_os;
...@@ -36,6 +36,8 @@ $node_primary->append_conf('postgresql.conf', qq( ...@@ -36,6 +36,8 @@ $node_primary->append_conf('postgresql.conf', qq(
archive_command = '"$perlbin" "$FindBin::RealBin/cp_history_files" "%p" "$archivedir_primary/%f"' archive_command = '"$perlbin" "$FindBin::RealBin/cp_history_files" "%p" "$archivedir_primary/%f"'
wal_keep_size=128MB wal_keep_size=128MB
)); ));
# Make sure that Msys perl doesn't complain about difficulty in setting locale
# when called from the archive_command.
local $ENV{PERL_BADLANG}=0; local $ENV{PERL_BADLANG}=0;
$node_primary->start; $node_primary->start;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment