psql: Add tests for \errverbose
This is another piece of functionality that happens while a user query is being sent and which did not have any test coverage.
This commit is contained in:
parent
ddee016b34
commit
d3ab618290
|
@ -132,4 +132,51 @@ server closed the connection unexpectedly
|
|||
psql:<stdin>:2: fatal: connection to server was lost',
|
||||
'server crash: error message');
|
||||
|
||||
# test \errverbose
|
||||
#
|
||||
# (This is not in the regular regression tests because the output
|
||||
# contains the source code location and we don't want to have to
|
||||
# update that every time it changes.)
|
||||
|
||||
psql_like(
|
||||
$node,
|
||||
'SELECT 1;
|
||||
\errverbose',
|
||||
qr/^1\nThere is no previous error\.$/,
|
||||
'\errverbose with no previous error');
|
||||
|
||||
# There are three main ways to run a query that might affect
|
||||
# \errverbose: The normal way, using a cursor by setting FETCH_COUNT,
|
||||
# and using \gdesc. Test them all.
|
||||
|
||||
like(($node->psql('postgres', "SELECT error;\n\\errverbose", on_error_stop => 0))[2],
|
||||
qr/\A^psql:<stdin>:1: ERROR: .*$
|
||||
^LINE 1: SELECT error;$
|
||||
^ *^.*$
|
||||
^psql:<stdin>:2: error: ERROR: [0-9A-Z]{5}: .*$
|
||||
^LINE 1: SELECT error;$
|
||||
^ *^.*$
|
||||
^LOCATION: .*$/m,
|
||||
'\errverbose after normal query with error');
|
||||
|
||||
like(($node->psql('postgres', "\\set FETCH_COUNT 1\nSELECT error;\n\\errverbose", on_error_stop => 0))[2],
|
||||
qr/\A^psql:<stdin>:2: ERROR: .*$
|
||||
^LINE 2: SELECT error;$
|
||||
^ *^.*$
|
||||
^psql:<stdin>:3: error: ERROR: [0-9A-Z]{5}: .*$
|
||||
^LINE 2: SELECT error;$
|
||||
^ *^.*$
|
||||
^LOCATION: .*$/m,
|
||||
'\errverbose after FETCH_COUNT query with error');
|
||||
|
||||
like(($node->psql('postgres', "SELECT error\\gdesc\n\\errverbose", on_error_stop => 0))[2],
|
||||
qr/\A^psql:<stdin>:1: ERROR: .*$
|
||||
^LINE 1: SELECT error$
|
||||
^ *^.*$
|
||||
^psql:<stdin>:2: error: ERROR: [0-9A-Z]{5}: .*$
|
||||
^LINE 1: SELECT error$
|
||||
^ *^.*$
|
||||
^LOCATION: .*$/m,
|
||||
'\errverbose after \gdesc with error');
|
||||
|
||||
done_testing();
|
||||
|
|
Loading…
Reference in New Issue