irc2

irctest.self_tests.cases.IrcTestCaseTestCase

irc2
test_message_matching_negative[{'command': '004', 'params': ['nick', '...', OptStrRe(r'[a-zA-Z]+')]}-004 nick ... 123].
test_message_matching_negative[{'command': '004', 'params': ['nick', '...', OptStrRe(r'[a-zA-Z]+')]}-004 nick ... :].
test_message_matching_negative[{'command': '005', 'params': ['nick', 'FOO=1', *ANYLIST]}-005 nick BAR=2].
test_message_matching_negative[{'command': '005', 'params': ['nick', 'FOO=1', *ANYLIST]}-005 nick].
test_message_matching_negative[{'command': '005', 'params': ['nick', ListRemainder(ANYSTR, min_length=1)]}-005 nick].
test_message_matching_negative[{'command': '005', 'params': ['nick', ListRemainder(StrRe(r'[A-Z]+=.*'), min_length=1)]}-005 nick foo=1].
test_message_matching_negative[{'command': '005', 'params': ['nick', ListRemainder(StrRe(r'[A-Z]+=.*'), min_length=1)]}-005 nick].
test_message_matching_negative[{'command': 'PING', 'params': ['abc']}-PONG def].
test_message_matching_negative[{'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-PRIVMSG #chan hello2].
test_message_matching_negative[{'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-PRIVMSG #chan2 hello].
test_message_matching_negative[{'command': 'PRIVMSG', 'params': ['#chan', StrRe(r'hello.*')]}-PRIVMSG #chan :hi].
test_message_matching_negative[{'command': 'PRIVMSG', 'params': ['#chan', StrRe(r'hello.*')]}-PRIVMSG #chan2 hello].
test_message_matching_negative[{'nick': 'foo', 'command': 'PRIVMSG'}-:foo2!baz@qux PRIVMSG #chan hello].
test_message_matching_negative[{'nick': 'foo', 'command': 'PRIVMSG'}-@tag1=bar :foo2!baz@qux PRIVMSG #chan :hello].
test_message_matching_negative[{'nick': 'foo', 'command': 'PRIVMSG'}-PRIVMSG #chan :hi].
test_message_matching_negative[{'tags': {'tag1': 'bar', RemainingKeys(ANYSTR): ANYOPTSTR}, 'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-:foo!baz@qux PRIVMSG #chan hello].
test_message_matching_negative[{'tags': {'tag1': 'bar', RemainingKeys(ANYSTR): ANYOPTSTR}, 'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-@tag1=value1 PRIVMSG #chan :hello].
test_message_matching_negative[{'tags': {'tag1': 'bar', RemainingKeys(ANYSTR): ANYOPTSTR}, 'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-PRIVMG #chan :hello].
test_message_matching_negative[{'tags': {'tag1': 'bar', RemainingKeys(ANYSTR): ANYOPTSTR}, 'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-PRIVMSG #chan hello2].
test_message_matching_negative[{'tags': {'tag1': 'bar', RemainingKeys(ANYSTR): ANYOPTSTR}, 'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-PRIVMSG #chan2 hello].
test_message_matching_negative[{'tags': {'tag1': 'bar', RemainingKeys(NotStrRe(r'tag2')): ANYOPTSTR}, 'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-@tag1=bar;tag2= PRIVMSG #chan :hello].
test_message_matching_negative[{'tags': {'tag1': 'bar', RemainingKeys(NotStrRe(r'tag2')): ANYOPTSTR}, 'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-@tag1=bar;tag2=baz PRIVMSG #chan :hello].
test_message_matching_negative[{'tags': {'tag1': 'bar', RemainingKeys(NotStrRe(r'tag2')): ANYOPTSTR}, 'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-@tag1=value1 PRIVMSG #chan :hello].
test_message_matching_negative[{'tags': {'tag1': 'bar', RemainingKeys(NotStrRe(r'tag2')): ANYOPTSTR}, 'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-PRIVMG #chan :hello].
test_message_matching_negative[{'tags': {'tag1': 'bar'}, 'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-:foo!baz@qux PRIVMSG #chan hello].
test_message_matching_negative[{'tags': {'tag1': 'bar'}, 'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-@tag1=bar;tag2= PRIVMSG #chan :hello].
test_message_matching_negative[{'tags': {'tag1': 'bar'}, 'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-@tag1=value1 PRIVMSG #chan :hello].
test_message_matching_negative[{'tags': {'tag1': 'bar'}, 'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-PRIVMSG #chan hello].
test_message_matching_negative[{'tags': {'tag1': ANYSTR}, 'command': 'PRIVMSG', 'params': ['#chan', ANYSTR]}-:foo!baz@qux PRIVMSG #chan hello].
test_message_matching_negative[{'tags': {'tag1': ANYSTR}, 'command': 'PRIVMSG', 'params': ['#chan', ANYSTR]}-@tag1=bar;tag2= PRIVMSG #chan :hello].
test_message_matching_negative[{'tags': {'tag1': ANYSTR}, 'command': 'PRIVMSG', 'params': ['#chan', ANYSTR]}-PRIVMSG #chan hello].
test_message_matching_negative[{'tags': {StrRe(r'tag[12]'): 'bar', RemainingKeys(ANYSTR): ANYOPTSTR}, 'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-:foo!baz@qux PRIVMSG #chan hello].
test_message_matching_negative[{'tags': {StrRe(r'tag[12]'): 'bar', RemainingKeys(ANYSTR): ANYOPTSTR}, 'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-@tag1=value1 PRIVMSG #chan :hello].
test_message_matching_negative[{'tags': {StrRe(r'tag[12]'): 'bar', RemainingKeys(ANYSTR): ANYOPTSTR}, 'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-PRIVMG #chan :hello].
test_message_matching_negative[{'tags': {StrRe(r'tag[12]'): 'bar', RemainingKeys(ANYSTR): ANYOPTSTR}, 'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-PRIVMSG #chan hello2].
test_message_matching_negative[{'tags': {StrRe(r'tag[12]'): 'bar', RemainingKeys(ANYSTR): ANYOPTSTR}, 'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-PRIVMSG #chan2 hello].
test_message_matching_negative_message[expected command to be PING, got PONG].
test_message_matching_negative_message[expected command to be PRIVMSG, got PRIVMG0].
test_message_matching_negative_message[expected command to be PRIVMSG, got PRIVMG1].
test_message_matching_negative_message[expected command to be PRIVMSG, got PRIVMG2].
test_message_matching_negative_message[expected nick to be foo, got None instead].
test_message_matching_negative_message[expected nick to be foo, got foo2 instead0].
test_message_matching_negative_message[expected nick to be foo, got foo2 instead1].
test_message_matching_negative_message[expected params to match ['#chan', 'hello'], got ['#chan', 'hello2']0].
test_message_matching_negative_message[expected params to match ['#chan', 'hello'], got ['#chan', 'hello2']1].
test_message_matching_negative_message[expected params to match ['#chan', 'hello'], got ['#chan', 'hello2']2].
test_message_matching_negative_message[expected params to match ['#chan', 'hello'], got ['#chan2', 'hello']0].
test_message_matching_negative_message[expected params to match ['#chan', 'hello'], got ['#chan2', 'hello']1].
test_message_matching_negative_message[expected params to match ['#chan', 'hello'], got ['#chan2', 'hello']2].
test_message_matching_negative_message[expected params to match ['#chan', StrRe(r'hello.*')], got ['#chan', 'hi']].
test_message_matching_negative_message[expected params to match ['#chan', StrRe(r'hello.*')], got ['#chan2', 'hello']].
test_message_matching_negative_message[expected params to match ['nick', '...', OptStrRe(r'[a-zA-Z]+')], got ['nick', '...', '']].
test_message_matching_negative_message[expected params to match ['nick', '...', OptStrRe(r'[a-zA-Z]+')], got ['nick', '...', '123']].
test_message_matching_negative_message[expected params to match ['nick', 'FOO=1', *ANYLIST], got ['nick', 'BAR=2']].
test_message_matching_negative_message[expected params to match ['nick', 'FOO=1', *ANYLIST], got ['nick']].
test_message_matching_negative_message[expected params to match ['nick', ListRemainder(ANYSTR, min_length=1)], got ['nick']].
test_message_matching_negative_message[expected params to match ['nick', ListRemainder(StrRe(r'[A-Z]+=.*'), min_length=1)], got ['nick', 'foo=1']].
test_message_matching_negative_message[expected params to match ['nick', ListRemainder(StrRe(r'[A-Z]+=.*'), min_length=1)], got ['nick']].
test_message_matching_negative_message[expected tags to match {'tag1': 'bar', RemainingKeys(ANYSTR): ANYOPTSTR}, got {'tag1': 'value1'}].
test_message_matching_negative_message[expected tags to match {'tag1': 'bar', RemainingKeys(ANYSTR): ANYOPTSTR}, got {}].
test_message_matching_negative_message[expected tags to match {'tag1': 'bar', RemainingKeys(NotStrRe(r'tag2')): ANYOPTSTR}, got {'tag1': 'bar', 'tag2': ''}].
test_message_matching_negative_message[expected tags to match {'tag1': 'bar', RemainingKeys(NotStrRe(r'tag2')): ANYOPTSTR}, got {'tag1': 'bar', 'tag2': 'baz'}].
test_message_matching_negative_message[expected tags to match {'tag1': 'bar', RemainingKeys(NotStrRe(r'tag2')): ANYOPTSTR}, got {'tag1': 'value1'}].
test_message_matching_negative_message[expected tags to match {'tag1': 'bar'}, got {'tag1': 'bar', 'tag2': ''}].
test_message_matching_negative_message[expected tags to match {'tag1': 'bar'}, got {'tag1': 'value1'}].
test_message_matching_negative_message[expected tags to match {'tag1': 'bar'}, got {}0].
test_message_matching_negative_message[expected tags to match {'tag1': 'bar'}, got {}1].
test_message_matching_negative_message[expected tags to match {'tag1': ANYSTR}, got {'tag1': 'bar', 'tag2': ''}].
test_message_matching_negative_message[expected tags to match {'tag1': ANYSTR}, got {}0].
test_message_matching_negative_message[expected tags to match {'tag1': ANYSTR}, got {}1].
test_message_matching_negative_message[expected tags to match {StrRe(r'tag[12]'): 'bar', RemainingKeys(ANYSTR): ANYOPTSTR}, got {'tag1': 'value1'}].
test_message_matching_negative_message[expected tags to match {StrRe(r'tag[12]'): 'bar', RemainingKeys(ANYSTR): ANYOPTSTR}, got {}].
test_message_matching_positive[{'command': '004', 'params': ['nick', '...', OptStrRe(r'[a-zA-Z]+')]}-004 nick ... abc].
test_message_matching_positive[{'command': '004', 'params': ['nick', '...', OptStrRe(r'[a-zA-Z]+')]}-004 nick ...].
test_message_matching_positive[{'command': '005', 'params': ['nick', 'FOO=1', *ANYLIST]}-005 nick FOO=1 BAR=2].
test_message_matching_positive[{'command': '005', 'params': ['nick', 'FOO=1', *ANYLIST]}-005 nick FOO=1].
test_message_matching_positive[{'command': '005', 'params': ['nick', ListRemainder(ANYSTR, min_length=1)]}-005 nick BAR=2].
test_message_matching_positive[{'command': '005', 'params': ['nick', ListRemainder(ANYSTR, min_length=1)]}-005 nick FOO=1 BAR=2].
test_message_matching_positive[{'command': '005', 'params': ['nick', ListRemainder(ANYSTR, min_length=1)]}-005 nick FOO=1].
test_message_matching_positive[{'command': '005', 'params': ['nick', ListRemainder(StrRe(r'[A-Z]+=.*'), min_length=1)]}-005 nick BAR=2].
test_message_matching_positive[{'command': '005', 'params': ['nick', ListRemainder(StrRe(r'[A-Z]+=.*'), min_length=1)]}-005 nick FOO=1 BAR=2].
test_message_matching_positive[{'command': '005', 'params': ['nick', ListRemainder(StrRe(r'[A-Z]+=.*'), min_length=1)]}-005 nick FOO=1].
test_message_matching_positive[{'command': 'PING', 'params': ['abc']}-PING abc].
test_message_matching_positive[{'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-:foo!baz@qux PRIVMSG #chan hello].
test_message_matching_positive[{'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-@tag1=bar :foo!baz@qux PRIVMSG #chan :hello].
test_message_matching_positive[{'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-@tag1=bar PRIVMSG #chan :hello].
test_message_matching_positive[{'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-@tag1=bar;tag2= PRIVMSG #chan :hello].
test_message_matching_positive[{'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-PRIVMSG #chan :hello].
test_message_matching_positive[{'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-PRIVMSG #chan hello].
test_message_matching_positive[{'command': 'PRIVMSG', 'params': ['#chan', StrRe(r'hello.*')]}-:foo!baz@qux PRIVMSG #chan hello].
test_message_matching_positive[{'command': 'PRIVMSG', 'params': ['#chan', StrRe(r'hello.*')]}-@tag1=bar :foo!baz@qux PRIVMSG #chan :hello].
test_message_matching_positive[{'command': 'PRIVMSG', 'params': ['#chan', StrRe(r'hello.*')]}-@tag1=bar PRIVMSG #chan :hello].
test_message_matching_positive[{'command': 'PRIVMSG', 'params': ['#chan', StrRe(r'hello.*')]}-@tag1=bar;tag2= PRIVMSG #chan :hello].
test_message_matching_positive[{'command': 'PRIVMSG', 'params': ['#chan', StrRe(r'hello.*')]}-PRIVMSG #chan :hello].
test_message_matching_positive[{'command': 'PRIVMSG', 'params': ['#chan', StrRe(r'hello.*')]}-PRIVMSG #chan hello2].
test_message_matching_positive[{'command': 'PRIVMSG', 'params': ['#chan', StrRe(r'hello.*')]}-PRIVMSG #chan hello].
test_message_matching_positive[{'nick': 'foo', 'command': 'PRIVMSG'}-:foo!baz@qux PRIVMSG #chan hello].
test_message_matching_positive[{'nick': 'foo', 'command': 'PRIVMSG'}-@tag1=bar :foo!baz@qux PRIVMSG #chan :hello].
test_message_matching_positive[{'tags': {'tag1': 'bar', RemainingKeys(ANYSTR): ANYOPTSTR}, 'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-@tag1=bar :foo!baz@qux PRIVMSG #chan :hello].
test_message_matching_positive[{'tags': {'tag1': 'bar', RemainingKeys(ANYSTR): ANYOPTSTR}, 'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-@tag1=bar PRIVMSG #chan :hello].
test_message_matching_positive[{'tags': {'tag1': 'bar', RemainingKeys(ANYSTR): ANYOPTSTR}, 'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-@tag1=bar;tag2= PRIVMSG #chan :hello].
test_message_matching_positive[{'tags': {'tag1': 'bar', RemainingKeys(NotStrRe(r'tag2')): ANYOPTSTR}, 'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-@tag1=bar :foo!baz@qux PRIVMSG #chan :hello].
test_message_matching_positive[{'tags': {'tag1': 'bar', RemainingKeys(NotStrRe(r'tag2')): ANYOPTSTR}, 'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-@tag1=bar PRIVMSG #chan :hello].
test_message_matching_positive[{'tags': {'tag1': 'bar', RemainingKeys(NotStrRe(r'tag2')): ANYOPTSTR}, 'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-@tag1=bar;tag3= PRIVMSG #chan :hello].
test_message_matching_positive[{'tags': {'tag1': 'bar'}, 'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-@tag1=bar :foo!baz@qux PRIVMSG #chan :hello].
test_message_matching_positive[{'tags': {'tag1': 'bar'}, 'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-@tag1=bar PRIVMSG #chan :hello].
test_message_matching_positive[{'tags': {'tag1': ANYSTR}, 'command': 'PRIVMSG', 'params': ['#chan', ANYSTR]}-@tag1=bar :foo!baz@qux PRIVMSG #chan :hello].
test_message_matching_positive[{'tags': {'tag1': ANYSTR}, 'command': 'PRIVMSG', 'params': ['#chan', ANYSTR]}-@tag1=bar PRIVMSG #chan :hello].
test_message_matching_positive[{'tags': {'tag1': ANYSTR}, 'command': 'PRIVMSG', 'params': ['#chan', ANYSTR]}-@tag1=value1 PRIVMSG #chan :hello].
test_message_matching_positive[{'tags': {StrRe(r'tag[12]'): 'bar', RemainingKeys(ANYSTR): ANYOPTSTR}, 'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-@tag1=;tag2=bar PRIVMSG #chan :hello].
test_message_matching_positive[{'tags': {StrRe(r'tag[12]'): 'bar', RemainingKeys(ANYSTR): ANYOPTSTR}, 'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-@tag1=bar :foo!baz@qux PRIVMSG #chan :hello].
test_message_matching_positive[{'tags': {StrRe(r'tag[12]'): 'bar', RemainingKeys(ANYSTR): ANYOPTSTR}, 'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-@tag1=bar PRIVMSG #chan :hello].
test_message_matching_positive[{'tags': {StrRe(r'tag[12]'): 'bar', RemainingKeys(ANYSTR): ANYOPTSTR}, 'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-@tag1=bar;tag2= PRIVMSG #chan :hello0].
test_message_matching_positive[{'tags': {StrRe(r'tag[12]'): 'bar', RemainingKeys(ANYSTR): ANYOPTSTR}, 'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-@tag1=bar;tag2= PRIVMSG #chan :hello1].
test_message_matching_positive[{'tags': {StrRe(r'tag[12]'): 'bar', RemainingKeys(ANYSTR): ANYOPTSTR}, 'command': 'PRIVMSG', 'params': ['#chan', 'hello']}-@tag2=bar PRIVMSG #chan :hello].

irctest.server_tests.away.AwayTestCase

irc2
testAway.
testAwayAck.
testAwayEmptyMessage.
testAwayPrivmsg.
testAwayUserhost.
testAwayWhois.

irctest.server_tests.buffering.BufferingTestCase

irc2
testNoTags[byteperbyte-colon].
testNoTags[byteperbyte-no colon].
testNoTags[charperchar-colon].
testNoTags[charperchar-no colon].
testNoTags[whole-colon].
testNoTags[whole-no colon].

irctest.server_tests.chmodes.ban.BanModeTestCase

irc2
testBan.
testBanException.
testBanList.

irctest.server_tests.chmodes.key.KeyTestCase

irc2
testKeyNormal.
testKeyValidation[empty].
testKeyValidation[long].
testKeyValidation[only-space]X
testKeyValidation[spaces].

irctest.server_tests.chmodes.moderated.ModeratedModeTestCase

irc2
testModeratedMode.

irctest.server_tests.chmodes.mute_extban.MuteExtbanTestCase

https://defs.ircdocs.horse/defs/isupport.html#extban

It magically guesses what char the IRCd uses for mutes.

irc2
testMuteExtbans
testMuteExtbanExempts
testMuteExtbanVoiceds

irctest.server_tests.chmodes.no_external.NoExternalMessagesTestCase

irc2
testNoExternalMessagesMode.

irctest.server_tests.chmodes.secret.SecretChannelTestCase

irc2
testSecretChannelListCommand.

irctest.server_tests.connection_registration.ConnectionRegistrationTestCase

irc2
testConnectionRegistration.
testEarlyNickCollision.
testEmptyRealname.
testNickCollision.
testNonutf8Realname.
testNonutf8Username.
testQuitDisconnects.
testQuitErrors.

irctest.server_tests.connection_registration.PasswordedConnectionRegistrationTestCase

irc2
testNoPassword.
testPassBeforeNickuser.
testWrongPassword.

irctest.server_tests.help.HelpTestCase

irc2
testHelpNoArg[HELPOP]s
testHelpNoArg[HELP]s
testHelpPrivmsg[HELPOP]s
testHelpPrivmsg[HELP]s
testHelpUnknownSubject[HELPOP]s
testHelpUnknownSubject[HELP]s

irctest.server_tests.info.InfoTestCase

irc2
testInfo.

irctest.server_tests.invite.InviteTestCase

irc2
testInvexList.
testInviteAlreadyInChannel.
testInviteInviteOnly.
testInviteLists
testInviteNoNotificationForOtherMembers.
testInviteOnlyFromUsersInChannel.
testInvite[False].
testInvite[True].
testInvites.

irctest.server_tests.isupport.IsupportTestCase

irc2
testParameters.
testPrefix.
testTargmaxs

irctest.server_tests.join.JoinTestCase

irc2
testJoinNamreply.
testJoinPartiallyInvalid.
testJoinTwice.

irctest.server_tests.kick.KickTestCase

irc2
testDoubleKickMessages[False]s
testDoubleKickMessages[True]s
testKickDefaultCommentX
testKickNoComment.
testKickNonexistentChannel.
testKickPrivileges.
testKickSendsMessages.

irctest.server_tests.links.LinksTestCase

irc2
testLinksSingleServer.

irctest.server_tests.list.FaketimeListTestCase

irc2
testListCreationTimes
testListTopicTimes

irctest.server_tests.list.ListTestCase

irc2
testListEmptyX
testListMasks
testListNonexistent.
testListNotMasks
testListOneX
testListUserss

irctest.server_tests.lusers.BasicLusersTestCase

irc2
testLusers.
testLusersFull.

irctest.server_tests.lusers.LusersUnregisteredDefaultInvisibleTestCase

Same as above but with +i as the default.

irc2
testLusersFull.
testLusersRfc2812.

irctest.server_tests.lusers.LusersUnregisteredTestCase

irc2
testLusersFull.
testLusersRfc2812.

irctest.server_tests.messages.NoticeTestCase

irc2
testNotice.
testNoticeNonexistentChannel.

irctest.server_tests.messages.PrivmsgTestCase

irc2
testEmptyPrivmsgX
testPrivmsg.
testPrivmsgNonexistentChannel.
testPrivmsgNonexistentUser.
testPrivmsgToUser.

irctest.server_tests.names.NamesTestCase

irc2
testNames2812.
testNamesInvalidChannel.
testNamesMultipleChannels2812s
testNamesNonexistingChannel.

irctest.server_tests.part.PartTestCase

irc2
testBasicPart.
testBasicPartRfc2812.
testPartMessage.
testPartNotInEmptyChannel.
testPartNotInNonEmptyChannel.

irctest.server_tests.pingpong.PingPongTestCase

irc2
testPing.
testPingEmptyToken.
testPingNoToken.

irctest.server_tests.quit.ChannelQuitTestCase

irc2
testQuit.

irctest.server_tests.regressions.RegressionsTestCase

irc2
testCaseChanges.
testEmptyNick.
testFailedNickChange.
testNickRelease.
testNickReleaseQuit.
testStarNick.

irctest.server_tests.statusmsg.StatusmsgTestCase

irc2
testStatusmsgFromOps
testStatusmsgFromRegulars

irctest.server_tests.time.TimeTestCase

irc2
testTime.

irctest.server_tests.topic.TopicPrivilegesTestCase

irc2
testTopicPrivileges.

irctest.server_tests.topic.TopicTestCase

irc2
testTopicMode.
testTopicModern.
testTopicNonexistentChannel.
testTopicRfc.
testUnsetTopicResponses.

irctest.server_tests.utf8.Utf8TestCase

irc2
testNonutf8Realnames
testNonutf8Usernames
testUtf8Validations

irctest.server_tests.wallops.WallopsTestCase

irc2
testWallops.
testWallopsPrivilegesX

irctest.server_tests.who.WhoInvisibleTestCase

irc2
testWhoInvisible.

irctest.server_tests.who.WhoTestCase

irc2
testWhoChan[casefolded].
testWhoChan[exact].
testWhoMultiChan.
testWhoNickAwayAndOper[casefolded].
testWhoNickAwayAndOper[exact].
testWhoNickAwayAndOper[mask].
testWhoNickAway[casefolded].
testWhoNickAway[exact].
testWhoNickAway[mask].
testWhoNickNotExists.
testWhoNickOper[casefolded].
testWhoNickOper[exact].
testWhoNickOper[mask].
testWhoNick[casefolded].
testWhoNick[exact].
testWhoNick[mask].
testWhoRealNameSpacess
testWhoStar.
testWhoUsernameRealName[hostname]s
testWhoUsernameRealName[realname-mask]s
testWhoUsernameRealName[username]s
testWhoxOneChar[a]s
testWhoxOneChar[c]s
testWhoxOneChar[d]s
testWhoxOneChar[f]s
testWhoxOneChar[h]s
testWhoxOneChar[i]s
testWhoxOneChar[l]s
testWhoxOneChar[n]s
testWhoxOneChar[o]s
testWhoxOneChar[r]s
testWhoxOneChar[s]s
testWhoxOneChar[u]s
testWhoxTokens

irctest.server_tests.whois.WhoisTestCase

irc2
testWhoisNumerics[away].
testWhoisNumerics[normal].
testWhoisNumerics[oper].
testWhoisUser[no-target].
testWhoisUser[target-nick].
testWhoisUser[target_server].

irctest.server_tests.whowas.WhowasTestCase

irc2
testWhowasCount1.
testWhowasCount2.
testWhowasCountNegative.
testWhowasCountZero.
testWhowasEnd.
testWhowasMultiTarget[nick2,nick3]s
testWhowasMultiTarget[nick3,nick2]s
testWhowasMultiple.
testWhowasNoParamModern.
testWhowasNoSuchNick.
testWhowasNumerics.