mirror of
https://github.com/postgres/postgres.git
synced 2025-06-10 09:21:54 +03:00
psql: Rework TAP routine psql_fails_like() to define WAL sender context
The routine was coded so as a WAL sender was always used, state required only for one failure test related to START_REPLICATION. This test is changed so as a WAL sender is used by passing a replication option to psql_fails_like(), instead of forcing the use of a WAL sender for all the tests. This has come up as useful in the context of a separate bug fix where we are looking at extending tests for some failure scenarios. These tests need to happen in the context of a normal backend, and not a WAL sender where the extended query protocol cannot be used. Discussion: https://postgr.es/m/aAXkJIOildLUA7vQ@paquier.xyz
This commit is contained in:
parent
0e091ce409
commit
0ff95e0a5b
@ -34,11 +34,13 @@ sub psql_fails_like
|
|||||||
{
|
{
|
||||||
local $Test::Builder::Level = $Test::Builder::Level + 1;
|
local $Test::Builder::Level = $Test::Builder::Level + 1;
|
||||||
|
|
||||||
my ($node, $sql, $expected_stderr, $test_name) = @_;
|
my ($node, $sql, $expected_stderr, $test_name, $replication) = @_;
|
||||||
|
|
||||||
|
# Use the context of a WAL sender, if requested by the caller.
|
||||||
|
$replication = '' unless defined($replication);
|
||||||
|
|
||||||
# Use the context of a WAL sender, some of the tests rely on that.
|
|
||||||
my ($ret, $stdout, $stderr) =
|
my ($ret, $stdout, $stderr) =
|
||||||
$node->psql('postgres', $sql, replication => 'database');
|
$node->psql('postgres', $sql, replication => $replication);
|
||||||
|
|
||||||
isnt($ret, 0, "$test_name: exit code not 0");
|
isnt($ret, 0, "$test_name: exit code not 0");
|
||||||
like($stderr, $expected_stderr, "$test_name: matches");
|
like($stderr, $expected_stderr, "$test_name: matches");
|
||||||
@ -79,7 +81,7 @@ psql_fails_like(
|
|||||||
$node,
|
$node,
|
||||||
'START_REPLICATION 0/0',
|
'START_REPLICATION 0/0',
|
||||||
qr/unexpected PQresultStatus: 8$/,
|
qr/unexpected PQresultStatus: 8$/,
|
||||||
'handling of unexpected PQresultStatus');
|
'handling of unexpected PQresultStatus', 'database');
|
||||||
|
|
||||||
# test \timing
|
# test \timing
|
||||||
psql_like(
|
psql_like(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user