> On 7 Mar 2024, at 00:55, Alexander Korotkov <[email protected]> wrote: > > On Wed, Mar 6, 2024 at 10:22 AM Andrey M. Borodin <[email protected]> > wrote: >>> On 25 Feb 2024, at 21:50, Alexander Korotkov <[email protected]> wrote: >>> >>> Thank you for the patches. I've pushed the 0001 patch to avoid >>> further failures on buildfarm. Let 0004 wait till injections points >>> by Mechael are committed. >> >> Thanks! >> >> All prerequisites are committed. I propose something in a line with this >> patch. > > Thank you. I took a look at the patch. Should we also check the > relevant message after the timeout is fired? We could check it in > psql stderr or log for that.
PFA version which checks log output.
But I could not come up with a proper use of BackgroundPsql->query_until() to
check outputs. And there are multiple possible errors.
We can copy test from src/bin/psql/t/001_basic.pl:
# test behavior and output on server crash
my ($ret, $out, $err) = $node->psql('postgres',
"SELECT 'before' AS running;\n"
. "SELECT pg_terminate_backend(pg_backend_pid());\n"
. "SELECT 'AFTER' AS not_running;\n");
is($ret, 2, 'server crash: psql exit code');
like($out, qr/before/, 'server crash: output before crash');
ok($out !~ qr/AFTER/, 'server crash: no output after crash');
is( $err,
'psql:<stdin>:2: FATAL: terminating connection due to administrator command
psql:<stdin>:2: server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
psql:<stdin>:2: error: connection to server was lost',
'server crash: error message’);
But I do not see much value in this.
What do you think?
Best regards, Andrey Borodin.
v3-0001-Add-timeouts-TAP-tests.patch
Description: Binary data
