On Mon, Aug 3, 2020 at 4:09 AM Tom Lane <t...@sss.pgh.pa.us> wrote: > I'm inclined to suggest that the LDAP test's test_access could use > an empty stdin and pass "-c 'SELECT 1'" as a command line option > instead. (Maybe that's exactly what you meant, but I'm not sure.)
Good idea. Here's a patch like that. > I've not been able to duplicate this locally, so I have no idea if > that'd really fix it. Me neither -- I guess someone who enjoys perl could hack IPC::Run to take a short nap at the right moment.
From 22220d01b65cef920c953551ce1c49d071fdf29f Mon Sep 17 00:00:00 2001 From: Thomas Munro <thomas.munro@gmail.com> Date: Mon, 3 Aug 2020 11:34:40 +1200 Subject: [PATCH] Fix rare failure in LDAP tests. Instead of writing a query to psql's stdin, use -c. This avoids a failure where psql exits before we write, seen a few times on the build farm. Thanks to Noah Misch and Tom Lane for suggesting this fix. Back-patch to 11, where the LDAP tests arrived. Discussion: https://postgr.es/m/CA%2BhUKGLFmW%2BHQYPeKiwSp5sdFFHtFViCpw4Mh6yAgEx74r5-Cw%40mail.gmail.com --- src/test/ldap/t/001_auth.pl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/test/ldap/t/001_auth.pl b/src/test/ldap/t/001_auth.pl index f8941144f5..3bc7672451 100644 --- a/src/test/ldap/t/001_auth.pl +++ b/src/test/ldap/t/001_auth.pl @@ -165,7 +165,8 @@ sub test_access my ($node, $role, $expected_res, $test_name) = @_; my $res = - $node->psql('postgres', 'SELECT 1', extra_params => [ '-U', $role ]); + $node->psql('postgres', undef, + extra_params => [ '-U', $role, '-c', 'SELECT 1' ]); is($res, $expected_res, $test_name); return; } -- 2.20.1