Make sure to run pg_isready on correct port
authorAndrew Dunstan <andrew@dunslane.net>
Fri, 12 Jul 2024 22:29:15 +0000 (18:29 -0400)
committerAndrew Dunstan <andrew@dunslane.net>
Sat, 13 Jul 2024 12:11:16 +0000 (08:11 -0400)
The current code can have pg_isready unexpectedly succeed if there is a
server running on the default port. To avoid this we delay running the
test until after a node has been created but before it starts, and then
use that node's port, so we are fairly sure there is nothing running on
the port.

Backpatch to all live branches.

src/bin/scripts/t/080_pg_isready.pl

index 375f0feb2165495e018ceb53ff0e9bde86a22545..f6f3d79682540c39a4d59625ec7c54cd6a86b6f3 100644 (file)
@@ -12,10 +12,11 @@ program_help_ok('pg_isready');
 program_version_ok('pg_isready');
 program_options_handling_ok('pg_isready');
 
-command_fails(['pg_isready'], 'fails with no server running');
-
 my $node = get_new_node('main');
 $node->init;
+
+$node->command_fails(['pg_isready'], 'fails with no server running');
+
 $node->start;
 
 $node->command_ok(