diff options
author | Andrew Dunstan <andrew@dunslane.net> | 2021-06-03 16:08:33 -0400 |
---|---|---|
committer | Andrew Dunstan <andrew@dunslane.net> | 2021-06-03 17:29:43 -0400 |
commit | 0c92ed165ec13672d615d81a5c5fb76580f92f13 (patch) | |
tree | 30e8c12209991b3f352cdc4443ba11e7bb594061 /src/test/perl/PostgresNode.pm | |
parent | 4ceaa760bd8cf0e19f513a9b6fdf503037d8ff72 (diff) | |
download | postgresql-0c92ed165ec13672d615d81a5c5fb76580f92f13.tar.gz postgresql-0c92ed165ec13672d615d81a5c5fb76580f92f13.zip |
In PostgresNode.pm, don't pass SQL to psql on the command line
The Msys shell mangles certain patterns in its command line, so avoid
handing arbitrary SQL to psql on the command line and instead use
IPC::Run's redirection facility for stdin. This pattern is already
mostly whats used, but query_poll_until() was not doing the right thing.
Problem discovered on the buildfarm when a new TAP test failed on msys.
Diffstat (limited to 'src/test/perl/PostgresNode.pm')
-rw-r--r-- | src/test/perl/PostgresNode.pm | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/test/perl/PostgresNode.pm b/src/test/perl/PostgresNode.pm index bc43a4ea35f..61aa0488072 100644 --- a/src/test/perl/PostgresNode.pm +++ b/src/test/perl/PostgresNode.pm @@ -1544,14 +1544,15 @@ sub poll_query_until $expected = 't' unless defined($expected); # default value - my $cmd = [ 'psql', '-XAt', '-c', $query, '-d', $self->connstr($dbname) ]; + my $cmd = [ 'psql', '-XAt', '-d', $self->connstr($dbname) ]; my ($stdout, $stderr); my $max_attempts = 180 * 10; my $attempts = 0; while ($attempts < $max_attempts) { - my $result = IPC::Run::run $cmd, '>', \$stdout, '2>', \$stderr; + my $result = IPC::Run::run $cmd, '<', \$query, + '>', \$stdout, '2>', \$stderr; $stdout =~ s/\r\n/\n/g if $Config{osname} eq 'msys'; chomp($stdout); |