mirror of https://github.com/postgres/postgres
Tighten up Windows CRLF conversion in our TAP test scripts.
Back-patch commits91bdf499b
andffb4cee43
, so that all branches agree on when and how to do Windows CRLF conversion. This should close the referenced thread. Thanks to Andrew Dunstan for discussion/review. Discussion: https://postgr.es/m/412ae8da-76bb-640f-039a-f3513499e53d@gmx.net
This commit is contained in:
parent
e3ed833e0c
commit
d0390509a1
|
@ -120,7 +120,7 @@ sub check_query
|
|||
}
|
||||
else
|
||||
{
|
||||
$stdout =~ s/\r//g if $Config{osname} eq 'msys';
|
||||
$stdout =~ s/\r\n/\n/g if $Config{osname} eq 'msys';
|
||||
is($stdout, $expected_stdout, "$test_name: query result matches");
|
||||
}
|
||||
}
|
||||
|
@ -139,8 +139,8 @@ sub poll_query_until
|
|||
my $cmd = [ 'psql', '-At', '-c', "$query", '-d', "$connstr" ];
|
||||
my $result = run $cmd, '>', \$stdout, '2>', \$stderr;
|
||||
|
||||
$stdout =~ s/\r\n/\n/g if $Config{osname} eq 'msys';
|
||||
chomp($stdout);
|
||||
$stdout =~ s/\r//g if $Config{osname} eq 'msys';
|
||||
if ($stdout eq "t")
|
||||
{
|
||||
return 1;
|
||||
|
@ -153,8 +153,8 @@ sub poll_query_until
|
|||
|
||||
# The query result didn't change in 90 seconds. Give up. Print the
|
||||
# output from the last attempt, hopefully that's useful for debugging.
|
||||
$stderr =~ s/\r\n/\n/g if $Config{osname} eq 'msys';
|
||||
chomp($stderr);
|
||||
$stderr =~ s/\r//g if $Config{osname} eq 'msys';
|
||||
diag qq(poll_query_until timed out executing this query:
|
||||
$query
|
||||
expecting this output:
|
||||
|
|
|
@ -1122,7 +1122,6 @@ sub safe_psql
|
|||
print "\n#### End standard error\n";
|
||||
}
|
||||
|
||||
$stdout =~ s/\r//g if $TestLib::windows_os;
|
||||
return $stdout;
|
||||
}
|
||||
|
||||
|
@ -1297,16 +1296,20 @@ sub psql
|
|||
}
|
||||
};
|
||||
|
||||
# Note: on Windows, IPC::Run seems to convert \r\n to \n in program output
|
||||
# if we're using native Perl, but not if we're using MSys Perl. So do it
|
||||
# by hand in the latter case, here and elsewhere.
|
||||
|
||||
if (defined $$stdout)
|
||||
{
|
||||
$$stdout =~ s/\r\n/\n/g if $Config{osname} eq 'msys';
|
||||
chomp $$stdout;
|
||||
$$stdout =~ s/\r//g if $TestLib::windows_os;
|
||||
}
|
||||
|
||||
if (defined $$stderr)
|
||||
{
|
||||
$$stderr =~ s/\r\n/\n/g if $Config{osname} eq 'msys';
|
||||
chomp $$stderr;
|
||||
$$stderr =~ s/\r//g if $TestLib::windows_os;
|
||||
}
|
||||
|
||||
# See http://perldoc.perl.org/perlvar.html#%24CHILD_ERROR
|
||||
|
@ -1364,8 +1367,8 @@ sub poll_query_until
|
|||
[ 'psql', '-XAt', '-c', $query, '-d', $self->connstr($dbname) ];
|
||||
my $result = IPC::Run::run $cmd, '>', \$stdout, '2>', \$stderr;
|
||||
|
||||
$stdout =~ s/\r\n/\n/g if $Config{osname} eq 'msys';
|
||||
chomp($stdout);
|
||||
$stdout =~ s/\r//g if $TestLib::windows_os;
|
||||
if ($stdout eq "t")
|
||||
{
|
||||
return 1;
|
||||
|
@ -1378,8 +1381,8 @@ sub poll_query_until
|
|||
|
||||
# The query result didn't change in 180 seconds. Give up. Print the
|
||||
# output from the last attempt, hopefully that's useful for debugging.
|
||||
$stderr =~ s/\r\n/\n/g if $Config{osname} eq 'msys';
|
||||
chomp($stderr);
|
||||
$stderr =~ s/\r//g if $TestLib::windows_os;
|
||||
diag qq(poll_query_until timed out executing this query:
|
||||
$query
|
||||
expecting this output:
|
||||
|
|
|
@ -259,8 +259,8 @@ sub psql
|
|||
my ($stdout, $stderr);
|
||||
print("# Running SQL command: $sql\n");
|
||||
run [ 'psql', '-X', '-A', '-t', '-q', '-d', $dbname, '-f', '-' ], '<', \$sql, '>', \$stdout, '2>', \$stderr or die;
|
||||
$stdout =~ s/\r\n/\n/g if $Config{osname} eq 'msys';
|
||||
chomp $stdout;
|
||||
$stdout =~ s/\r//g if $Config{osname} eq 'msys';
|
||||
return $stdout;
|
||||
}
|
||||
|
||||
|
@ -281,7 +281,7 @@ sub slurp_file
|
|||
or die "could not read \"$filename\": $!";
|
||||
my $contents = <$in>;
|
||||
close $in;
|
||||
$contents =~ s/\r//g if $Config{osname} eq 'msys';
|
||||
$contents =~ s/\r\n/\n/g if $Config{osname} eq 'msys';
|
||||
return $contents;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue