Force nodes for SSL tests to start in TCP mode
authorAndrew Dunstan <[email protected]>
Mon, 8 Jul 2024 09:51:26 +0000 (05:51 -0400)
committerAndrew Dunstan <[email protected]>
Mon, 8 Jul 2024 15:40:58 +0000 (11:40 -0400)
Currently they are started in unix socket mode in ost cases, and then
converted to run in TCP mode. This can result in port collisions, and
there is no virtue in startng in unix socket mode, so start as we will
be going on.

Discussion: https://postgr.es/m/d6ee8761-39d1-0033-1afb-d5a57ee056f2@gmail.com

Backpatch to all live branches (12 and up).

src/test/ssl/t/SSLServer.pm

index d25c38dbbc7f1271f119ded38ebfde52e85ecb73..b8ef902bf86f24c506adf6fe8092a86874201c69 100644 (file)
@@ -42,6 +42,13 @@ our @EXPORT = qw(
   test_connect_ok
 );
 
+# Force SSL tests nodes to begin in TCP mode. They won't work in Unix Socket
+# mode and this way they will find a port to run on in a more robust way.
+# Use an INIT block, it will run after the INIT block in PostgresNode.pm,
+# as they run in order of definition (see perlmod).
+
+INIT { $PostgresNode::use_tcp = 1; }
+
 # Define a couple of helper functions to test connecting to the server.
 
 # The first argument is a base connection string to use for connection.