Fix potential rare failure in the kerberos TAP tests

Instead of writing a query to psql's stdin, which can cause a failure
where psql exits before writing, reporting a write failure with a broken
pipe, this changes the logic to use -c.  This was not seen in the
buildfarm as no animals with a sensitive environment are running the
kerberos tests, but let's be safe.

HEAD is able to handle the situation as of 6d41dd0 for all the test
suites doing connection checks.  f44b9b6 has fixed the same problem for
the LDAP tests.

Discussion: https://postgr.es/m/YGu7ceWAiSNQDgH5@paquier.xyz
Backpatch-through: 11
This commit is contained in:
Michael Paquier 2021-04-07 19:58:54 +09:00
parent e7bcfd717e
commit b55619948e
1 changed files with 4 additions and 2 deletions

View File

@ -177,13 +177,15 @@ sub test_access
# need to connect over TCP/IP for Kerberos
my ($res, $stdoutres, $stderrres) = $node->psql(
'postgres',
"$query",
undef,
extra_params => [
'-XAtd',
$node->connstr('postgres')
. " host=$host hostaddr=$hostaddr $gssencmode",
'-U',
$role
$role,
'-c',
$query
]);
# If we get a query result back, it should be true.