From 3c80348d24914d9ddf65d56d2c343a7f2b820705 Mon Sep 17 00:00:00 2001
From: Noah Misch <noah@leadboat.com>
Date: Sat, 11 Nov 2017 14:33:02 -0800
Subject: [PATCH] Make connect/test1 independent of localhost IPv6.

Since commit 868898739a8da9ab74c105b8349b7b5c711f265a, it has assumed
"localhost" resolves to both ::1 and 127.0.0.1.  We gain nothing from
that assumption, and it does not hold in a default installation of Red
Hat Enterprise Linux 5.  Back-patch to 9.3 (all supported versions).
---
 src/interfaces/ecpg/test/connect/test1.pgc             | 2 +-
 src/interfaces/ecpg/test/expected/connect-test1.c      | 2 +-
 src/interfaces/ecpg/test/expected/connect-test1.stderr | 7 ++-----
 3 files changed, 4 insertions(+), 7 deletions(-)

diff --git a/src/interfaces/ecpg/test/connect/test1.pgc b/src/interfaces/ecpg/test/connect/test1.pgc
index 4868b3dd81..1ffb8c2fbe 100644
--- a/src/interfaces/ecpg/test/connect/test1.pgc
+++ b/src/interfaces/ecpg/test/connect/test1.pgc
@@ -54,7 +54,7 @@ exec sql end declare section;
 	exec sql disconnect;
 
 	/* wrong port */
-	exec sql connect to tcp:postgresql://localhost:20/ecpg2_regression user regress_ecpg_user1 identified by connectpw;
+	exec sql connect to tcp:postgresql://127.0.0.1:20/ecpg2_regression user regress_ecpg_user1 identified by connectpw;
 	/* no disconnect necessary */
 
 	/* wrong password */
diff --git a/src/interfaces/ecpg/test/expected/connect-test1.c b/src/interfaces/ecpg/test/expected/connect-test1.c
index 6471abb623..fd9be20f58 100644
--- a/src/interfaces/ecpg/test/expected/connect-test1.c
+++ b/src/interfaces/ecpg/test/expected/connect-test1.c
@@ -109,7 +109,7 @@ main(void)
 
 
 	/* wrong port */
-	{ ECPGconnect(__LINE__, 0, "tcp:postgresql://localhost:20/ecpg2_regression" , "regress_ecpg_user1" , "connectpw" , NULL, 0); }
+	{ ECPGconnect(__LINE__, 0, "tcp:postgresql://127.0.0.1:20/ecpg2_regression" , "regress_ecpg_user1" , "connectpw" , NULL, 0); }
 #line 57 "test1.pgc"
 
 	/* no disconnect necessary */
diff --git a/src/interfaces/ecpg/test/expected/connect-test1.stderr b/src/interfaces/ecpg/test/expected/connect-test1.stderr
index 0e43a1a398..ad806a0225 100644
--- a/src/interfaces/ecpg/test/expected/connect-test1.stderr
+++ b/src/interfaces/ecpg/test/expected/connect-test1.stderr
@@ -63,13 +63,10 @@
 [NO_PID]: sqlca: code: -402, state: 08001
 [NO_PID]: raising sqlcode -220 on line 54: connection "CURRENT" does not exist on line 54
 [NO_PID]: sqlca: code: -220, state: 08003
-[NO_PID]: ECPGconnect: opening database ecpg2_regression on localhost port <REGRESSION_PORT>  for user regress_ecpg_user1
+[NO_PID]: ECPGconnect: opening database ecpg2_regression on 127.0.0.1 port <REGRESSION_PORT>  for user regress_ecpg_user1
 [NO_PID]: sqlca: code: 0, state: 00000
 [NO_PID]: ECPGconnect: could not open database: could not connect to server: Connection refused
-	Is the server running on host "localhost" (::1) and accepting
-	TCP/IP connections on port 20?
-could not connect to server: Connection refused
-	Is the server running on host "localhost" (127.0.0.1) and accepting
+	Is the server running on host "127.0.0.1" and accepting
 	TCP/IP connections on port 20?
 
 [NO_PID]: sqlca: code: 0, state: 00000
-- 
2.40.0