Brandon Beresini sent me a patch yesterday adding tests for JOIN under
various circumstances, which I believe he worked on with Bryan Caldwell
and Ali Shemiran. I made a few modifications; the result is below.
start-server.sh stop-server.sh tests.sh stress-server.sh \
test-loop.sh wait-tests.sh \
channel-test.e connect-test.e check-idle.e misc-test.e mode-test.e \
- kick-test.e \
+ join-test.e kick-test.e \
opless-channel-test.e \
who-test.e stress-A.e stress-B.e \
ngircd-test.conf
rm -f channel-test
ln -s $(srcdir)/tests.sh channel-test
+join-test: tests.sh
+ rm -f join-test
+ ln -s $(srcdir)/tests.sh join-test
+
kick-test: tests.sh
rm -f kick-test
ln -s $(srcdir)/tests.sh kick-test
TESTS = start-server.sh \
connect-test \
channel-test \
+ join-test \
kick-test \
misc-test \
mode-test \
- who-test \
opless-channel-test \
+ who-test \
stress-server.sh \
stop-server.sh
--- /dev/null
+spawn telnet localhost 6789
+expect {
+ timeout { exit 1 }
+ "Connected"
+}
+
+send "nick nick\r"
+send "user user . . :User\r"
+expect {
+ timeout { exit 1 }
+ "376"
+}
+
+send "JOIN\r"
+expect {
+ timeout { exit 1}
+ "461"
+}
+
+send "JOIN #InviteChannel\r"
+expect {
+ timeout { exit 1 }
+ "473"
+}
+
+send "JOIN #FullKeyed\r"
+expect {
+ timeout { exit 1 }
+ "475"
+}
+
+send "JOIN #FullKeyed WrongKey\r"
+expect {
+ timeout { exit 1 }
+ "475"
+}
+
+send "JOIN #FullKeyed Secret\r"
+expect {
+ timeout { exit 1 }
+ "471"
+}
+
+send "JOIN #TopicChannel\r"
+expect {
+ timeout { exit 1 }
+ "@* JOIN :#TopicChannel"
+}
+expect {
+ timeout { exit 1 }
+ "332"
+}
+
+send "JOIN 0\r"
+send "JOIN #1,#2,#3,#4\r"
+send "JOIN #5\r"
+expect {
+ timeout { exit 1 }
+ "405"
+}
+
+send "quit\r"
+expect {
+ timeout { exit 1 }
+ "Connection closed"
+}
+
+# -eof-
AdminEMail = admin@irc.server
MaxConnectionsIP = 0
OperCanUseMode = yes
+ MaxJoins = 4
[Operator]
Name = TestOp
Password = 123
+[CHANNEL]
+ Name = #InviteChannel
+ Modes = i
+
+[CHANNEL]
+ Name = #FullKeyed
+ Modes = lk
+ MaxUsers = 0
+ Key = Secret
+
+[CHANNEL]
+ Name = #TopicChannel
+ Modes = t
+ Topic = the topic
+
# -eof-