diff options
author | Peter Eisentraut <peter@eisentraut.org> | 2022-03-29 08:58:54 +0200 |
---|---|---|
committer | Peter Eisentraut <peter@eisentraut.org> | 2022-03-29 08:58:54 +0200 |
commit | 8cd7627c7b19c5a1bb235e7ad91b53856b101e65 (patch) | |
tree | 9ed6a6e5cf37881db2156b488a2cbcbdca1cc611 /src | |
parent | c14a9eeec4797358922f8696d76716501b86c57d (diff) | |
download | postgresql-8cd7627c7b19c5a1bb235e7ad91b53856b101e65.tar.gz postgresql-8cd7627c7b19c5a1bb235e7ad91b53856b101e65.zip |
psql: Add test for psql behavior on server crash
Author: Fabien COELHO <coelho@cri.ensmp.fr>
Discussion: https://www.postgresql.org/message-id/flat/alpine.DEB.2.21.1904132231510.8961@lancre
Diffstat (limited to 'src')
-rw-r--r-- | src/bin/psql/t/001_basic.pl | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/bin/psql/t/001_basic.pl b/src/bin/psql/t/001_basic.pl index 44ecd05add6..02a84543fd5 100644 --- a/src/bin/psql/t/001_basic.pl +++ b/src/bin/psql/t/001_basic.pl @@ -115,4 +115,21 @@ NOTIFY foo, 'bar';", qr/^Asynchronous notification "foo" with payload "bar" received from server process with PID \d+\.$/, 'notification with payload'); +# 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 +server closed the connection unexpectedly + This probably means the server terminated abnormally + before or while processing the request. +psql:<stdin>:2: fatal: connection to server was lost', + 'server crash: error message'); + done_testing(); |