* gnu/packages/messaging.scm (ngircd): New variable. * gnu/packages/patches/ngircd-no-dns-in-tests.patch: New file. * gnu/packages/patches/ngircd-handle-zombies.patch: New file. * gnu-system.am (dist_patch_DATA): Add them.
		
			
				
	
	
		
			368 lines
		
	
	
	
		
			9.9 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			368 lines
		
	
	
	
		
			9.9 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
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
 | 
						|
 |