Commit 33f3bbc6 authored by Andrew Dunstan's avatar Andrew Dunstan

Fix TAP infrastructure to support Mingw better

archive_command and restore_command need to refer to Windows paths, not
Msys virtual file system paths, as postgres is completely unaware of the
latter, so prefix them with the Windows path to the virtual file system
root. Clean psql and pg_recvlogical output of carriage returns.
parent 7d68f228
......@@ -101,6 +101,15 @@ our @EXPORT = qw(
our ($test_localhost, $test_pghost, $last_port_assigned, @all_nodes);
# Windows path to virtual file system root
our $vfs_path = '';
if ($Config{osname} eq 'msys')
{
$vfs_path = `cd / && pwd -W`;
chomp $vfs_path;
}
INIT
{
......@@ -763,7 +772,7 @@ standby_mode=on
sub enable_restoring
{
my ($self, $root_node) = @_;
my $path = $root_node->archive_dir;
my $path = $vfs_path . $root_node->archive_dir;
my $name = $self->name;
print "### Enabling WAL restore for node \"$name\"\n";
......@@ -791,7 +800,7 @@ standby_mode = on
sub enable_archiving
{
my ($self) = @_;
my $path = $self->archive_dir;
my $path = $vfs_path . $self->archive_dir;
my $name = $self->name;
print "### Enabling WAL archiving for node \"$name\"\n";
......@@ -979,6 +988,7 @@ sub safe_psql
print "\n#### End standard error\n";
}
$stdout =~ s/\r//g if $TestLib::windows_os;
return $stdout;
}
......@@ -1579,6 +1589,9 @@ sub pg_recvlogical_upto
}
};
$stdout =~ s/\r//g if $TestLib::windows_os;
$stderr =~ s/\r//g if $TestLib::windows_os;
if (wantarray)
{
return ($ret, $stdout, $stderr, $timeout);
......
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