about summary refs log tree commit diff
path: root/src/testsuite
diff options
context:
space:
mode:
Diffstat (limited to 'src/testsuite')
-rw-r--r--src/testsuite/.gitignore1
-rw-r--r--src/testsuite/Makefile.am9
-rw-r--r--src/testsuite/whois-test.e53
3 files changed, 61 insertions, 2 deletions
diff --git a/src/testsuite/.gitignore b/src/testsuite/.gitignore
index fd628e3d..5884a486 100644
--- a/src/testsuite/.gitignore
+++ b/src/testsuite/.gitignore
@@ -11,6 +11,7 @@ mode-test
 opless-channel-test
 server-link-test
 who-test
+whois-test
 ngircd-test1.log
 ngircd-test2.log
 ngircd-test1.motd
diff --git a/src/testsuite/Makefile.am b/src/testsuite/Makefile.am
index f72453f1..9dc76a7d 100644
--- a/src/testsuite/Makefile.am
+++ b/src/testsuite/Makefile.am
@@ -1,6 +1,6 @@
 #
 # ngIRCd -- The Next Generation IRC Daemon
-# Copyright (c)2001-2008 Alexander Barton (alex@barton.de)
+# Copyright (c)2001-2011 Alexander Barton (alex@barton.de) and Contributors.
 #
 # Dieses Programm ist freie Software. Sie koennen es unter den Bedingungen
 # der GNU General Public License (GPL), wie von der Free Software Foundation
@@ -20,7 +20,7 @@ EXTRA_DIST = \
 	test-loop.sh wait-tests.sh \
 	channel-test.e connect-test.e check-idle.e invite-test.e \
 	join-test.e kick-test.e message-test.e misc-test.e mode-test.e \
-	opless-channel-test.e server-link-test.e who-test.e \
+	opless-channel-test.e server-link-test.e who-test.e whois-test.e \
 	stress-A.e stress-B.e \
 	start-server1 stop-server1 ngircd-test1.conf \
 	start-server2 stop-server2 ngircd-test2.conf
@@ -85,6 +85,10 @@ who-test: tests.sh
 	rm -f who-test
 	ln -s $(srcdir)/tests.sh who-test
 
+whois-test: tests.sh
+	rm -f whois-test
+	ln -s $(srcdir)/tests.sh whois-test
+
 TESTS = start-server1 \
 	connect-test \
 	start-server2 \
@@ -97,6 +101,7 @@ TESTS = start-server1 \
 	mode-test \
 	opless-channel-test \
 	who-test \
+	whois-test \
 	server-link-test \
 	stop-server2 \
 	stress-server.sh \
diff --git a/src/testsuite/whois-test.e b/src/testsuite/whois-test.e
new file mode 100644
index 00000000..7024d5ff
--- /dev/null
+++ b/src/testsuite/whois-test.e
@@ -0,0 +1,53 @@
+# ngIRCd test suite
+# WHOIS test
+
+spawn telnet localhost 6789
+expect {
+	timeout { exit 1 }
+	"Connected"
+}
+
+send "nick nick\r"
+send "user user . . :Real Name\r"
+expect {
+	timeout { exit 1 }
+	"376"
+}
+
+send "whois nick\r"
+expect {
+	timeout { exit 1 }
+	"311 nick nick ~user localhost \* :Real Name\r"
+}
+
+send "whois *\r"
+expect {
+	timeout { exit 1 }
+	"311 nick nick ~user localhost \* :Real Name\r"
+}
+
+send "whois n*\r"
+expect {
+	timeout { exit 1 }
+	"311 nick nick ~user localhost \* :Real Name\r"
+}
+
+send "whois ?ick\r"
+expect {
+	timeout { exit 1 }
+	"311 nick nick ~user localhost \* :Real Name\r"
+}
+
+send "whois ????,n?*k\r"
+expect {
+	timeout { exit 1 }
+	"311 nick nick ~user localhost \* :Real Name\r"
+}
+
+send "quit\r"
+expect {
+	timeout { exit 1 }
+	"ERROR"
+}
+
+# -eof-