From 3f807e104572b38143a1015be57d875088ceaebb Mon Sep 17 00:00:00 2001
From: Alexander Barton <alex@barton.de>
Date: Thu, 17 Apr 2014 23:57:38 +0200
Subject: [PATCH] Test suite: Don't use DNS lookups

Different operating systems do behave quite differently when doing DNS
lookups, for example "127.0.0.1" sometimes resolves to "localhost" and
sometimes to "localhost.localdomain" (for example OpenBSD). And other
systems resolve "localhost" to the real host name (for example Cygwin).

So not using DNS at all makes the test site much more portable.
---
 src/testsuite/channel-test.e        |  2 +-
 src/testsuite/check-idle.e          |  2 +-
 src/testsuite/connect-test.e        |  2 +-
 src/testsuite/invite-test.e         |  2 +-
 src/testsuite/join-test.e           |  2 +-
 src/testsuite/kick-test.e           |  2 +-
 src/testsuite/message-test.e        | 31 ++++++++++++-------------------
 src/testsuite/misc-test.e           |  8 ++++----
 src/testsuite/mode-test.e           |  2 +-
 src/testsuite/ngircd-test1.conf     |  1 +
 src/testsuite/ngircd-test2.conf     |  1 +
 src/testsuite/opless-channel-test.e |  2 +-
 src/testsuite/server-link-test.e    |  2 +-
 src/testsuite/stress-A.e            |  2 +-
 src/testsuite/who-test.e            |  6 +++---
 src/testsuite/whois-test.e          | 14 +++++++-------
 16 files changed, 38 insertions(+), 43 deletions(-)

diff --git a/src/testsuite/channel-test.e b/src/testsuite/channel-test.e
index dd7eb66..39ad16a 100644
--- a/src/testsuite/channel-test.e
+++ b/src/testsuite/channel-test.e
@@ -1,7 +1,7 @@
 # ngIRCd test suite
 # Channel test
 
-spawn telnet localhost 6789
+spawn telnet 127.0.0.1 6789
 expect {
 	timeout { exit 1 }
 	"Connected"
diff --git a/src/testsuite/check-idle.e b/src/testsuite/check-idle.e
index 41b8eb4..ad112b2 100644
--- a/src/testsuite/check-idle.e
+++ b/src/testsuite/check-idle.e
@@ -1,7 +1,7 @@
 # ngIRCd test suite
 # Idle test
 
-spawn telnet localhost 6789
+spawn telnet 127.0.0.1 6789
 expect {
 	timeout { exit 1 }
 	"Connected"
diff --git a/src/testsuite/connect-test.e b/src/testsuite/connect-test.e
index 662f5f7..b51be0d 100644
--- a/src/testsuite/connect-test.e
+++ b/src/testsuite/connect-test.e
@@ -1,7 +1,7 @@
 # ngIRCd test suite
 # Server connect test
 
-spawn telnet localhost 6789
+spawn telnet 127.0.0.1 6789
 expect {
 	timeout { exit 1 }
 	"Connected"
diff --git a/src/testsuite/invite-test.e b/src/testsuite/invite-test.e
index 3716d19..5179d8a 100644
--- a/src/testsuite/invite-test.e
+++ b/src/testsuite/invite-test.e
@@ -1,7 +1,7 @@
 # ngIRCd test suite
 # INVITE test
 
-spawn telnet localhost 6789
+spawn telnet 127.0.0.1 6789
 expect {
 	timeout { exit 1 }
 	"Connected"
diff --git a/src/testsuite/join-test.e b/src/testsuite/join-test.e
index 28b4c54..c088f5c 100644
--- a/src/testsuite/join-test.e
+++ b/src/testsuite/join-test.e
@@ -1,7 +1,7 @@
 # ngIRCd test suite
 # JOIN test
 
-spawn telnet localhost 6789
+spawn telnet 127.0.0.1 6789
 expect {
        timeout { exit 1 }
        "Connected"
diff --git a/src/testsuite/kick-test.e b/src/testsuite/kick-test.e
index 3d3c1ee..89da611 100644
--- a/src/testsuite/kick-test.e
+++ b/src/testsuite/kick-test.e
@@ -1,7 +1,7 @@
 # ngIRCd test suite
 # KICK test
 
-spawn telnet localhost 6789
+spawn telnet 127.0.0.1 6789
 expect {
        timeout { exit 1 }
        "Connected"
diff --git a/src/testsuite/message-test.e b/src/testsuite/message-test.e
index 0e70640..5dc325d 100644
--- a/src/testsuite/message-test.e
+++ b/src/testsuite/message-test.e
@@ -1,7 +1,7 @@
 # ngIRCd test suite
 # PRIVMSG and NOTICE test
 
-spawn telnet localhost 6789
+spawn telnet 127.0.0.1 6789
 expect {
 	timeout { exit 1 }
 	"Connected"
@@ -72,24 +72,17 @@ expect {
 	"MODE nick :-b"
 }
 
-# The following two tests using "localhost" as host name
-# had to be disabled, because there are operating systems
-# out there, that use "localhost.<domain>" as host name
-# for 127.0.0.1 instead of just "localhost".
-# (for example OpenBSD 4, OpenSolaris, ...)
-#
-#send "privmsg ~user\%localhost :test\r"
-#expect {
-#	timeout { exit 1 }
-#	"@* PRIVMSG nick :test"
-#}
-#
-#send "privmsg Nick!~User@LocalHost :test\r"
-#expect {
-#	timeout { exit 1 }
-#	"@* PRIVMSG nick :test"
-#	"401"
-#}
+send "privmsg ~user\%127.0.0.1 :test\r"
+expect {
+	timeout { exit 1 }
+	"@* PRIVMSG nick :test"
+}
+
+send "privmsg Nick!~User@127.0.0.1 :test\r"
+expect {
+	timeout { exit 1 }
+	"@* PRIVMSG nick :test"
+}
 
 send "away :away\r"
 expect {
diff --git a/src/testsuite/misc-test.e b/src/testsuite/misc-test.e
index a83bc5b..f69e7c3 100644
--- a/src/testsuite/misc-test.e
+++ b/src/testsuite/misc-test.e
@@ -1,7 +1,7 @@
 # ngIRCd test suite
 # Misc test
 
-spawn telnet localhost 6789
+spawn telnet 127.0.0.1 6789
 expect {
 	timeout { exit 1 }
 	"Connected"
@@ -130,7 +130,7 @@ expect {
 send "userhost nick\r"
 expect {
 	timeout { exit 1 }
-	-re ":ngircd.test.server 302 nick :?nick=+.*@(localhos.*|127.0.0.1)"
+	-re ":ngircd.test.server 302 nick :?nick=+.*@127.0.0.1"
 }
 
 send "userhost doesnotexist\r"
@@ -142,7 +142,7 @@ expect {
 send "userhost nick doesnotexist nick doesnotexist\r"
 expect {
 	timeout { exit 1 }
-	-re ":ngircd.test.server 302 nick :nick=+.*@(localhos.*|127.0.0.1) nick=+.*@(localhos.*|127.0.0.1)"
+	-re ":ngircd.test.server 302 nick :nick=+.*@127.0.0.1 nick=+.*@127.0.0.1"
 }
 
 send "away :testing\r"
@@ -154,7 +154,7 @@ expect {
 send "userhost nick nick nick nick nick nick\r"
 expect {
 	timeout { exit 1 }
-	-re ":ngircd.test.server 302 nick :nick=-.*@(localhos.*|127.0.0.1) nick=-.*@(localhos.*|127.0.0.1) nick=-.*@(localhos.*|127.0.0.1) nick=-.*@(localhos.*|127.0.0.1) nick=-.*@(localhos.*|127.0.0.1)\r"
+	-re ":ngircd.test.server 302 nick :nick=-.*@127.0.0.1 nick=-.*@127.0.0.1 nick=-.*@127.0.0.1 nick=-.*@127.0.0.1 nick=-.*@127.0.0.1\r"
 }
 
 send "quit\r"
diff --git a/src/testsuite/mode-test.e b/src/testsuite/mode-test.e
index d6726a4..86e4f2d 100644
--- a/src/testsuite/mode-test.e
+++ b/src/testsuite/mode-test.e
@@ -1,7 +1,7 @@
 # ngIRCd test suite
 # MODE test
 
-spawn telnet localhost 6789
+spawn telnet 127.0.0.1 6789
 expect {
 	timeout { exit 1 }
 	"Connected"
diff --git a/src/testsuite/ngircd-test1.conf b/src/testsuite/ngircd-test1.conf
index 0d0cccc..4dec533 100644
--- a/src/testsuite/ngircd-test1.conf
+++ b/src/testsuite/ngircd-test1.conf
@@ -17,6 +17,7 @@
 	OperCanUseMode = yes
 	Ident = no
 	IncludeDir = /var/empty
+	DNS = no
 	PAM = no
 
 [Operator]
diff --git a/src/testsuite/ngircd-test2.conf b/src/testsuite/ngircd-test2.conf
index c9d7f6c..0d24c4a 100644
--- a/src/testsuite/ngircd-test2.conf
+++ b/src/testsuite/ngircd-test2.conf
@@ -17,6 +17,7 @@
 	OperCanUseMode = yes
 	Ident = no
 	IncludeDir = /var/empty
+	DNS = no
 	PAM = no
 
 [Operator]
diff --git a/src/testsuite/opless-channel-test.e b/src/testsuite/opless-channel-test.e
index 7d94172..4611fe1 100644
--- a/src/testsuite/opless-channel-test.e
+++ b/src/testsuite/opless-channel-test.e
@@ -1,7 +1,7 @@
 # ngIRCd test suite
 # Op-less channel test
 
-spawn telnet localhost 6789
+spawn telnet 127.0.0.1 6789
 expect {
        timeout { exit 1 }
        "Connected"
diff --git a/src/testsuite/server-link-test.e b/src/testsuite/server-link-test.e
index cf3fae8..910f8c8 100644
--- a/src/testsuite/server-link-test.e
+++ b/src/testsuite/server-link-test.e
@@ -1,7 +1,7 @@
 # ngIRCd test suite
 # server-server link test
 
-spawn telnet localhost 6790
+spawn telnet 127.0.0.1 6790
 expect {
 	timeout { exit 1 }
 	"Connected"
diff --git a/src/testsuite/stress-A.e b/src/testsuite/stress-A.e
index 256d5d1..d51adaa 100644
--- a/src/testsuite/stress-A.e
+++ b/src/testsuite/stress-A.e
@@ -3,7 +3,7 @@
 
 set timeout 30
 
-spawn telnet localhost 6789
+spawn telnet 127.0.0.1 6789
 expect {
 	timeout { exit 1 }
 	"Connected"
diff --git a/src/testsuite/who-test.e b/src/testsuite/who-test.e
index a41e6b6..39d50ed 100644
--- a/src/testsuite/who-test.e
+++ b/src/testsuite/who-test.e
@@ -1,7 +1,7 @@
 # ngIRCd test suite
 # WHO test
 
-spawn telnet localhost 6789
+spawn telnet 127.0.0.1 6789
 expect {
 	timeout { exit 1 }
 	"Connected"
@@ -62,7 +62,7 @@ expect {
 	":ngircd.test.server 352 nick #channel * * ngircd.test.server nick G@ :0 Real Name"
 }
 
-send "who localhos*\r"
+send "who 127.0.0.*\r"
 expect {
 	timeout { exit 1 }
 	":ngircd.test.server 352 nick \* * * ngircd.test.server nick G :0 Real Name"
@@ -120,7 +120,7 @@ expect {
 	"305 nick"
 }
 
-send "who ??cal*ho*\r"
+send "who ??7.*0*\r"
 expect {
 	timeout { exit 1 }
 	":ngircd.test.server 352 nick \* * * ngircd.test.server nick H* :0 Real Name"
diff --git a/src/testsuite/whois-test.e b/src/testsuite/whois-test.e
index 16b1184..44eee66 100644
--- a/src/testsuite/whois-test.e
+++ b/src/testsuite/whois-test.e
@@ -1,7 +1,7 @@
 # ngIRCd test suite
 # WHOIS test
 
-spawn telnet localhost 6789
+spawn telnet 127.0.0.1 6789
 expect {
 	timeout { exit 1 }
 	"Connected"
@@ -17,7 +17,7 @@ expect {
 send "whois nick\r"
 expect {
 	timeout { exit 1 }
-	"311 nick nick ~user localhost* \* :Real Name\r"
+	"311 nick nick ~user 127.0.0.1 \* :Real Name\r"
 }
 expect {
 	timeout { exit 1 }
@@ -27,25 +27,25 @@ expect {
 send "whois *\r"
 expect {
 	timeout { exit 1 }
-	"311 nick nick ~user localhost* \* :Real Name\r"
+	"311 nick nick ~user 127.0.0.1* \* :Real Name\r"
 }
 
 send "whois n*\r"
 expect {
 	timeout { exit 1 }
-	"311 nick nick ~user localhost* \* :Real Name\r"
+	"311 nick nick ~user 127.0.0.1* \* :Real Name\r"
 }
 
 send "whois ?ick\r"
 expect {
 	timeout { exit 1 }
-	"311 nick nick ~user localhost* \* :Real Name\r"
+	"311 nick nick ~user 127.0.0.1* \* :Real Name\r"
 }
 
 send "whois ????,n?*k\r"
 expect {
 	timeout { exit 1 }
-	"311 nick nick ~user localhost* \* :Real Name\r"
+	"311 nick nick ~user 127.0.0.1* \* :Real Name\r"
 }
 
 send "whois unknown\r"
@@ -61,7 +61,7 @@ expect {
 send "whois ngircd.test.server2 nick\r"
 expect {
 	timeout { exit 1 }
-	":ngircd.test.server2 311 nick nick ~user localhost* \* :Real Name\r"
+	":ngircd.test.server2 311 nick nick ~user 127.0.0.1* \* :Real Name\r"
 }
 
 send "whois nosuchserver unknown\r"
-- 
1.9.1

