psql: Add test for handling of replication commands
authorPeter Eisentraut <[email protected]>
Tue, 12 Oct 2021 13:33:36 +0000 (15:33 +0200)
committerPeter Eisentraut <[email protected]>
Tue, 12 Oct 2021 13:33:36 +0000 (15:33 +0200)
Add a test for the clean handling of unsupported replication command
responses.  This was once accidentally broken, and it seems unusual
enough that it's easy to forget when testing manually.

Discussion: https://www.postgresql.org/message-id/2570e2ae-fa0f-aac9-f72f-bb59a9983a20@enterprisedb.com

src/bin/psql/t/001_basic.pl

index 38426a69d7a69cf2aed5ec37e92367f84ae6d9f7..c6d01c0abf061e4f780e1486749a7a3318be58f7 100644 (file)
@@ -6,7 +6,7 @@ use warnings;
 
 use PostgresNode;
 use TestLib;
-use Test::More tests => 23;
+use Test::More tests => 25;
 
 program_help_ok('psql');
 program_version_ok('psql');
@@ -26,8 +26,19 @@ foreach my $arg (qw(commands variables))
 
 my $node = PostgresNode->new('main');
 $node->init;
+$node->append_conf(
+   'postgresql.conf', q{
+wal_level = 'logical'
+max_replication_slots = 4
+max_wal_senders = 4
+});
 $node->start;
 
 $node->command_like([ 'psql', '-c', '\copyright' ], qr/Copyright/, '\copyright');
 $node->command_like([ 'psql', '-c', '\help' ], qr/ALTER/, '\help without arguments');
 $node->command_like([ 'psql', '-c', '\help SELECT' ], qr/SELECT/, '\help');
+
+
+# Test clean handling of unsupported replication command responses
+$node->command_fails_like([ 'psql', 'replication=database', '-c', 'START_REPLICATION 0/0' ],
+   qr/^unexpected PQresultStatus: 8$/, 'handling of unexpected PQresultStatus');