commit c63d8fd051b9d1e9c8dfa64424b9f557968c4513 from: Dana Dahlstrom via: Florian Westphal date: Mon May 05 14:12:41 2008 UTC tests for JOIN and various replies 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. commit - 3d8eda9c860cbcbf195fe2242c67dd57fe966b3e commit + c63d8fd051b9d1e9c8dfa64424b9f557968c4513 blob - af1d980bc289b8a55276f220570f37b02fc1848f blob + 87e47d45b04869468d9b4e7d1634c82203098ac8 --- src/testsuite/Makefile.am +++ src/testsuite/Makefile.am @@ -21,7 +21,7 @@ EXTRA_DIST = \ 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 @@ -49,6 +49,10 @@ channel-test: tests.sh 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 @@ -72,11 +76,12 @@ mode-test: tests.sh 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 blob - /dev/null blob + 41a5168ae296ea34d6cd4f44326dfb360850608c (mode 644) --- /dev/null +++ src/testsuite/join-test.e @@ -0,0 +1,68 @@ +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- blob - 0bec96d30d827b4a7e2cfb7260a7ccff6f78d3ab blob + eeace761a0a9d70a1414a4cb7b2b4a4a6a42ac5f --- src/testsuite/ngircd-test.conf +++ src/testsuite/ngircd-test.conf @@ -8,9 +8,25 @@ 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-