]> jfr.im git - irc/evilnet/x3.git/blame - tests/coverage-2.cmd
Added a new line to NickServ.accountinfo to show new email address for email change...
[irc/evilnet/x3.git] / tests / coverage-2.cmd
CommitLineData
a32da4c7 1define srv1 irc.clan-dk.org:7701
2define srv1name irc.clan-dk.org
3define srv2 irc.clan-dk.org:7711
4define srv2name irc2.clan-dk.org
5define srvx srvx.clan-dk.org
6define domain troilus.org
7define chanserv AlphaIRC
8define global AlphaIRC
9define memoserv AlphaIRC
10define nickserv AlphaIRC
11define opserv AlphaIRC
12define helpserv CoverageServ
13define helpserv2 C0v3r4g3S3rv
14define opernick test_oper
15define operpass i_r_teh_0p3r
16define testchan #testchan
17
18# Connect, join testing channel, oper up, log in
19connect cl1 test1 test1 %srv1% :Test Bot 1
20:cl1 join %testchan%1
21:cl1 raw :OPER %opernick% %operpass%
22:cl1 privmsg %nickserv% :ACCOUNTINFO
23:cl1 privmsg %nickserv%@%srvx% :AUTH
24:cl1 privmsg %nickserv%@%srvx% :AUTH bogus bogus
25:cl1 privmsg %nickserv%@%srvx% :AUTH testest
26:cl1 privmsg %nickserv% :OSET test1 EPITHET some damn test bot
27:cl1 privmsg %nickserv% :ACCOUNTINFO
28
29# Test common infrastructure things
30:cl1 nick test1_new
31:cl1 nick test1
32:cl1 privmsg %opserv% :REHASH
33:cl1 privmsg %opserv% :REOPEN
34:cl1 privmsg %opserv% :QUERY
35:cl1 privmsg %opserv% :LOG LIMIT 30
36:cl1 privmsg %opserv% :RECONNECT
37:cl1 privmsg %opserv% :HELP WRITE
38:cl1 privmsg %opserv% :WRITE MONDO
39:cl1 privmsg %opserv% :WRITEALL
40:cl1 privmsg %opserv% :STATS DATABASES
41
42# Test global's functionality
43:cl1 privmsg %global% :NOTICE users Hello world!
44:cl1 privmsg %global% :MESSAGE TARGET users DURATION 1h TEXT Hello world (short duration)!
45connect cl2 test2 test2 %srv1% :Test Bot 2
46connect cl3 test3 test3 %srv1% :Test Bot 3
47:cl2 join %testchan%1
48:cl2 privmsg %nickserv%@%srvx% :REGISTER test2 testest
49:cl2 privmsg %global% :LIST
50:cl3 join %testchan%1
51:cl3 privmsg %global% :MESSAGES
52:cl3 privmsg %global% :VERSION
53:cl1 wait cl2,cl3
54:cl1 privmsg %global% :REMOVE 1
55:cl1 privmsg %global% :MESSAGE SOURCELESS pizza TARGET all TARGET helpers TARGET opers TARGET staff TARGET channels DURATION 5s TEXT Hollow world (very short duration).
56:cl1 privmsg %global% :MESSAGE TARGET all
57:cl1 privmsg %global% :NOTICE ANNOUNCEMENT test of announcement code
58:cl1 privmsg %global% :NOTICE CHANNELS test of channel spamming code (sorry! :)
59:cl1 privmsg %global% :NOTICE BOGUS
60:cl1 privmsg %global% :NOTICE DIFFERENTLY BOGUS
61:cl1 privmsg %global% :LIST
62:cl1 privmsg %global% :REMOVE 30
63:cl1 privmsg %global% :MESSAGES
64
65# Test ChanServ functions
66:cl1 privmsg %chanserv% :HELP
67:cl1 privmsg %chanserv% :HELP commands
68:cl1 privmsg %chanserv% :HELP note types
69:cl1 privmsg %chanserv% :VERSION ARCH
70:cl1 privmsg %chanserv% :NETINFO
71:cl1 privmsg %chanserv% :STAFF
72:cl1 privmsg %chanserv% :GOD ON
73:cl1 privmsg %chanserv% :REGISTER %testchan%1
74:cl1 privmsg %chanserv% :REGISTER %testchan%2 test2
75:cl1 privmsg %chanserv% :GOD OFF
76:cl1 privmsg %chanserv% :ADDUSER %testchan%1 OP test2
77:cl1 privmsg %chanserv% :GOD ON
78:cl1 privmsg %testchan%1 :\ 1PING\ 1
79:cl1 privmsg %chanserv% :CREATENOTE url setter all 400
80:cl1 privmsg %chanserv% :%testchan%1 NOTE url http://www.srvx.net/index.php
81:cl1 privmsg %chanserv% :CREATENOTE url privileged 1 privileged 20
82:cl1 privmsg %chanserv% :CREATENOTE url channel owner channel_users 20
83:cl1 privmsg %chanserv% :CREATENOTE url bogus all 20
84:cl1 privmsg %chanserv% :%testchan%1 NOTE
85:cl1 privmsg %chanserv% :REMOVENOTE url
86:cl2 wait cl1
87:cl2 privmsg %chanserv% :%testchan%1 NOTE
88:cl1 privmsg %chanserv% :REMOVENOTE bogus
89:cl1 privmsg %chanserv% :%testchan%1 DELNOTE bogus
90:cl1 privmsg %chanserv% :%testchan%1 DELNOTE url
91:cl1 privmsg %chanserv% :%testchan%1 NOTE url http://www.srvx.net/
92:cl1 wait cl2
93:cl1 privmsg %chanserv% :REMOVENOTE url FORCE
94:cl1 privmsg %chanserv% :%testchan%1 ADDUSER OP test2
95:cl1 privmsg %chanserv% :%testchan%1 OP test2
96:cl1 privmsg %chanserv% :%testchan%1 OP test3
97:cl2 wait cl1
98:cl2 mode %testchan%1 -clo test3
99:cl1 privmsg %chanserv% :%testchan%1 SET MODES +sntlrcCDk 500 bah
100:cl1 privmsg %chanserv% :%testchan%1 SET MODES -lk
101:cl1 privmsg %chanserv% :%testchan%1 SET ENFMODES 4
102:cl1 privmsg %chanserv% :%testchan%1 SET PROTECT 0
103:cl2 wait cl1
104:cl2 mode %testchan%1 +l 600
105:cl1 wait cl2
106:cl1 privmsg %chanserv% :%testchan%1 SET CTCPUSERS 6
107:cl3 wait cl1
108:cl3 privmsg %testchan%1 :\ 1TIME\ 1
109:cl1 privmsg %chanserv% :EXPIRE
110:cl2 privmsg %chanserv% :%testchan%1 DELETEME a5bfa227
111:cl1 privmsg %chanserv% :NOREGISTER *test2 USUX
112:cl1 privmsg %chanserv% :NOREGISTER %testchan%3 USUX2
113:cl1 privmsg %chanserv% :NOREGISTER #*tch* USUX3
114:cl1 privmsg %chanserv% :NOREGISTER %testchan%3
115:cl1 privmsg %chanserv% :NOREGISTER *test2
116:cl1 privmsg %chanserv% :NOREGISTER *test194
117:cl1 privmsg %chanserv% :NOREGISTER
118:cl1 privmsg %chanserv% :REGISTER %testchan%3 test2
119:cl1 privmsg %chanserv% :ALLOWREGISTER
120:cl1 privmsg %chanserv% :ALLOWREGISTER *test2
121:cl1 privmsg %chanserv% :REGISTER %testchan%3 test2
122:cl1 privmsg %chanserv% :ALLOWREGISTER %testchan%3
123:cl1 privmsg %chanserv% :REGISTER %testchan%3 test2
124:cl1 privmsg %chanserv% :ALLOWREGISTER #*tch*
125:cl1 join %testchan%3
126:cl1 privmsg %opserv% :ADDBAD %testchan%3
127:cl1 privmsg %chanserv% :REGISTER %testchan%3 test2
128:cl1 privmsg %opserv% :CHANINFO %testchan%3
129:cl1 privmsg %chanserv% :%testchan%1 MOVE %testchan%3
130:cl1 join %testchan%3
131:cl1 privmsg %opserv% :DELBAD %testchan%3
132:cl1 privmsg %opserv% :ADDBAD %testchan%4
133:cl1 privmsg %chanserv% :REGISTER %testchan%4 test2
134:cl1 privmsg %chanserv% :%testchan%1 MOVE %testchan%4
135:cl1 privmsg %opserv% :DELBAD %testchan%4
136:cl1 privmsg %chanserv% :REGISTER %testchan%3 test2
137:cl1 privmsg %chanserv% :ALLOWREGISTER #pizza
138:cl2 wait cl1
139:cl2 privmsg %chanserv% :%testchan%3 OPCHAN
140:cl1 wait cl2
141:cl1 privmsg %chanserv% :%testchan%3 CSUSPEND 1m H8!
142:cl2 wait cl1
143:cl2 privmsg %chanserv% :%testchan%3 UNREGISTER 1234a2ec
144:cl2 privmsg %chanserv% :%testchan%3 OPCHAN
145:cl2 privmsg %chanserv% :%testchan%1 UNREGISTER
146:cl1 wait cl2
147:cl1 privmsg %chanserv% :%testchan%3 CUNSUSPEND
148:cl2 wait cl1
149:cl2 privmsg %chanserv% :%testchan%3 UNREGISTER
150:cl2 privmsg %chanserv% :%testchan%3 OPCHAN
151:cl2 privmsg %chanserv% :%testchan%3 UNREGISTER 1234a2ec
152:cl1 join %testchan%4
153:cl1 privmsg %chanserv% :%testchan%4 UNREGISTER
154:cl1 privmsg %chanserv% :%testchan%2 MOVE %testchan%4
155:cl1 privmsg %chanserv% :%testchan%4 MERGE %testchan%1
156:cl1 privmsg %chanserv% :%testchan%1 OPCHAN
157:cl1 privmsg %chanserv% :%testchan%1 CLVL test2 bogus
158:cl1 privmsg %chanserv% :%testchan%1 CLVL test2 COOWNER
159:cl1 privmsg %chanserv% :%testchan%1 DELUSER COOWNER test2
160:cl1 privmsg %chanserv% :%testchan%1 MDELOP *
161:cl1 privmsg %chanserv% :%testchan%1 TRIM BANS 1w
162:cl1 privmsg %chanserv% :%testchan%1 TRIM USERS 1w
163:cl1 privmsg %chanserv% :%testchan%1 DOWN
164:cl1 privmsg %chanserv% :%testchan%1 UP
165:cl1 privmsg %chanserv% :UPALL
166:cl1 privmsg %chanserv% :DOWNALL
167:cl1 privmsg %chanserv% :%testchan%1 OP test1
168:cl1 privmsg %chanserv% :%testchan%1 OP test2
169:cl1 privmsg %chanserv% :%testchan%1 DEOP test2
170:cl1 privmsg %chanserv% :%testchan%1 VOICE test2
171:cl1 privmsg %chanserv% :%testchan%1 DEVOICE test2
172:cl1 privmsg %chanserv% :%testchan%1 ADDTIMEDBAN test2 30s WEH8U
173:cl1 privmsg %chanserv% :%testchan%1 BANS
174:cl1 privmsg %chanserv% :%testchan%1 UNBAN test3
175:cl1 privmsg %chanserv% :%testchan%1 DELBAN test2
176:cl1 mode %testchan%1 +bbb abcdef!ghijkl@123456789012345678901234567890mnopqr.stuvwx.yz ghijkl!mnopqr@123456789012345678901234567890stuvwx.yzabcd.ef mnopqr!stuvwx@123456789012345678901234567890yzabcd.efghij.kl
177:cl1 mode %testchan%1 +bbb stuvwx!yzabcd@123456789012345678901234567890efghij.klmnop.qr yzabcd!efghij@123456789012345678901234567890klmnop.qrstuv.wx efghij!klmnop@123456789012345678901234567890qrstuv.wxyzab.cd
178:cl1 mode %testchan%1 +bbb klmnop!qrstuv@123456789012345678901234567890wxyzab.cdefgh.ij qrstuv!wxyzab@123456789012345678901234567890cdefgh.ijklmn.op wxyzab!cdefgh@123456789012345678901234567890ijklmn.opqrst.uv
179:cl1 privmsg %chanserv% :%testchan%1 ADDTIMEDBAN a!b@c.om 15s
180:cl1 privmsg %chanserv% :%testchan%1 UNBANALL
181:cl1 privmsg %chanserv% :%testchan%1 OPEN
182:cl1 privmsg %chanserv% :%testchan%1 ACCESS test2
183:cl1 privmsg %chanserv% :%testchan%1 ACCESS test1
184:cl1 privmsg %chanserv% :%testchan%1 USERS
185:cl1 privmsg %chanserv% :%testchan%1 CSUSPEND 1w WEH8URCHAN
186:cl1 privmsg %chanserv% :%testchan%1 INFO
187:cl1 privmsg %chanserv% :%testchan%1 CUNSUSPEND
188:cl1 privmsg %chanserv% :%testchan%1 PEEK
189:cl1 privmsg %chanserv% :%testchan%1 SETINFO Wraa!
190:cl1 privmsg %chanserv% :%testchan%1 ADDUSER MASTER test2
191:cl2 wait cl1
192:cl2 privmsg %chanserv% :%testchan%1 SETINFO Arrr!
193:cl1 privmsg %chanserv% :%testchan%1 WIPEINFO test2
194:cl1 privmsg %chanserv% :%testchan%1 SEEN test2
195:cl2 privmsg %chanserv% :%testchan%1 NAMES
196:cl1 privmsg %chanserv% :%testchan%1 EVENTS
197:cl1 privmsg %chanserv% :%testchan%1 SAY Hi
198:cl1 privmsg %chanserv% :%testchan%1 EMOTE burps.
199:cl1 privmsg %chanserv% :CSEARCH PRINT LIMIT 20
200:cl1 privmsg %chanserv% :UNVISITED
201:cl1 privmsg %chanserv% :%testchan%1 SET DEFAULTTOPIC foo bar baz
202:cl1 privmsg %chanserv% :%testchan%1 SET TOPICMASK foo * baz
203:cl1 privmsg %chanserv% :%testchan%1 SET ENFTOPIC 5
204:cl1 privmsg %chanserv% :%testchan%1 SET GREETING Hello non-user!
205:cl1 privmsg %chanserv% :%testchan%1 SET USERGREETING Hello user!
206:cl1 privmsg %chanserv% :%testchan%1 SET PUBCMD 6
207:cl1 privmsg %chanserv% :%testchan%1 SET STRICTOP 5
208:cl1 privmsg %chanserv% :%testchan%1 SET AUTOOP 4
209:cl1 privmsg %chanserv% :%testchan%1 SET PROTECT 0
210:cl1 privmsg %chanserv% :%testchan%1 SET TOYS 0
211:cl1 privmsg %chanserv% :%testchan%1 SET SETTERS 2
212:cl1 privmsg %chanserv% :%testchan%1 SET TOPICREFRESH 1
213:cl1 privmsg %chanserv% :%testchan%1 SET VOICE OFF
214:cl1 privmsg %chanserv% :%testchan%1 SET USERINFO ON
215:cl1 privmsg %chanserv% :%testchan%1 SET DYNLIMIT ON
216:cl1 privmsg %chanserv% :%testchan%1 SET TOPICSNARF OFF
217:cl1 privmsg %chanserv% :%testchan%1 SET PEONINVITE OFF
218:cl1 privmsg %chanserv% :%testchan%1 SET NODELETE ON
219:cl1 privmsg %chanserv% :%testchan%1 SET DYNLIMIT OFF
220:cl1 privmsg %chanserv% :%testchan%1 SET MODES +nt
221:cl1 raw :MODE %testchan%1 +bb abc!def@ghi.com foo!bar@baz.com
222:cl1 raw :MODE %testchan%1 -plkb 500 bah foo!bar@baz.com
223:cl1 raw :MODE %testchan%1 +plkntDrcC 500 bah
224:cl1 raw :CLEARMODE %testchan%1
225:cl1 raw :OPMODE %testchan%1 +oo %chanserv% test1
226:cl1 raw :GLINE +foo@example.com * 3600 :We don't like Examplians.
227:cl1 raw :GLINE -foo@example.com * 3600 :We like you again
228:cl1 privmsg %chanserv% :%testchan%1 UNREGISTER
229:cl1 privmsg %chanserv% :%testchan%1 TOPIC blah blah blah
230:cl1 privmsg %chanserv% :%testchan%1 DEOP %chanserv%
231:cl1 raw :KICK %testchan%1 test2
232:cl1 raw :TOPIC %testchan%1 :Topic set by test1
233:cl1 privmsg %testchan%1 :goodbye
234
235# Test raw protocol functionality
236:cl1 raw :STATS u %srvx%
237:cl1 raw :STATS c %srvx%
238:cl1 raw :VERSION %srvx%
239:cl1 raw :ADMIN %srvx%
240:cl1 raw :WHOIS %nickserv% %nickserv%
241:cl1 join 0
242:cl1 raw :AWAY :doing stuff
243:cl1 raw :AWAY
244:cl1 raw :MODE test1 +iwsdh
245:cl1 raw :KILL test3 :die, foo
246:cl1 raw :MODE test1 -oiwsdh
247
248# Test gline functions
249:cl1 raw :OPER %opernick% %operpass%
250:cl1 privmsg %opserv% :gline a@b.com 1h Test gline 1
251:cl1 privmsg %opserv% :gline b@c.com 1m Test gline 2
252:cl1 privmsg %opserv% :gline b@c.com 1h Test gline 2 (updated)
253:cl1 privmsg %opserv% :gline a@a.com 10 Very short gline
254:cl1 privmsg %opserv% :refreshg %srv1name%
255:cl1 privmsg %opserv% :refreshg
256:cl1 privmsg %opserv% :stats glines
257:cl1 privmsg %opserv% :gtrace print mask *@* limit 5 issuer test1 reason *
258:cl1 privmsg %opserv% :gtrace count mask *@* limit 5 issuer test1 reason *
259:cl1 privmsg %opserv% :gtrace ungline mask *@b.com
260:cl1 privmsg %opserv% :gtrace break mask *@b.com
261:cl1 privmsg %opserv% :trace print ip 66.0.0.0/8 mask *!*@* limit 5
262:cl1 privmsg %opserv% :trace print ip 66.*
263:cl1 mode %testchan%1 +b abc!def@ghi.com
264:cl1 privmsg %opserv% :%testchan%1 BAN def
265:cl1 privmsg %opserv% :%testchan%1 BAN *!*@def.ghi.com
266
267# Test modcmd functions
268:cl1 privmsg %chanserv% :%testchan%1
269:cl1 privmsg %opserv% :TIMECMD BIND %opserv% gumbo *modcmd.bind %opserv% $1- $$
270:cl1 privmsg %opserv% :HELP gumbo
271:cl1 privmsg %opserv% :gumbo gumbo gumbo
272:cl1 privmsg %opserv% :MODCMD gumbo FLAGS gumbo
273:cl1 privmsg %opserv% :MODCMD gumbo FLAGS +gumbo
274:cl1 privmsg %opserv% :MODCMD gumbo FLAGS +disabled,-oper CHANNEL_LEVEL none
275:cl1 privmsg %opserv% :MODCMD gumbo OPER_LEVEL 1001
276:cl1 privmsg %opserv% :MODCMD gumbo ACCOUNT_FLAGS +g WEIGHT 0
277:cl1 privmsg %opserv% :MODCMD gumbo bogus options
278:cl1 privmsg %opserv% :UNBIND %opserv% gumbo
279:cl1 privmsg %opserv% :TIMECMD BIND %opserv% gumbo %opserv%.bind %opserv% $1-
280:cl1 privmsg %opserv% :UNBIND %opserv% gumbo
281:cl1 privmsg %opserv% :STATS
282:cl1 privmsg %opserv% :STATS MODULES
283:cl1 privmsg %opserv% :STATS MODULES MODCMD
284:cl1 privmsg %opserv% :STATS SERVICES
285:cl1 privmsg %opserv% :STATS SERVICES %opserv%
286:cl1 privmsg %opserv% :READHELP OpServ
287:cl1 privmsg %opserv% :SHOWCOMMANDS
288:cl1 privmsg %opserv% :HELPFILES %opserv%
289:cl1 privmsg %chanserv% :COMMAND REGISTER
290
291# Test HelpServ functions
292connect cl3 test3 test3 %srv1% :Test Bot 3
293:cl1 privmsg %opserv% :HELPSERV REGISTER %helpserv% %testchan%1 test1
294:cl1 privmsg %helpserv% :huh?
295:cl1 privmsg %helpserv% :ADDHELPER test2
296:cl1 privmsg %helpserv% :CLVL test2 pizzaboy
297:cl1 privmsg %helpserv% :DELUSER test2
298:cl1 privmsg %helpserv% :DELUSER testy
299:cl1 privmsg %helpserv% :SET PAGETARGET %testchan%1
300:cl1 privmsg %helpserv% :SET PAGETYPE NOTICE
301:cl1 privmsg %helpserv% :SET ALERTPAGETARGET %testchan%1
302:cl1 privmsg %helpserv% :SET ALERTPAGETYPE PRIVMSG
303:cl1 privmsg %helpserv% :SET STATUSPAGETARGET %testchan%1
304:cl1 privmsg %helpserv% :SET STATUSPAGETYPE ONOTICE
305:cl1 privmsg %helpserv% :SET GREETING Hello Earthling! Please talk to me!
306:cl1 privmsg %helpserv% :SET REQOPENED Your request has been accepted!
307:cl1 privmsg %helpserv% :SET REQASSIGNED Your request has been assigned to a helper!
308:cl1 privmsg %helpserv% :SET REQCLOSED Goodbye and leave us alone next time!
309:cl1 privmsg %helpserv% :SET IDLEDELAY 5m
310:cl1 privmsg %helpserv% :SET WHINEDELAY 3m
311:cl1 privmsg %helpserv% :SET WHINEINTERVAL 3m
312:cl1 privmsg %helpserv% :SET EMPTYINTERVAL 3m
313:cl1 privmsg %helpserv% :SET STALEDELAY 5m
314:cl1 privmsg %helpserv% :SET REQPERSIST PART
315:cl1 privmsg %helpserv% :SET HELPERPERSIST CLOSE
316:cl1 privmsg %helpserv% :SET NOTIFICATION ACCOUNTCHANGES
317:cl1 privmsg %helpserv% :SET REQMAXLEN 5
318:cl1 privmsg %helpserv% :SET IDWRAP 10
319:cl1 privmsg %helpserv% :SET REQONJOIN ON
320:cl1 privmsg %helpserv% :SET AUTOVOICE ON
321:cl1 privmsg %helpserv% :SET AUTODEVOICE ON
322:cl1 privmsg %helpserv% :SET
323:cl1 privmsg %helpserv% :LIST ALL
324:cl3 wait cl1
325:cl3 join %testchan%1
326:cl3 privmsg %helpserv% :eye kant auth 2 my acount test2 plz 2 help!
327:cl1 wait cl3
328:cl1 privmsg %helpserv% :LIST
329:cl1 privmsg %helpserv% :LIST ASSIGNED
330:cl1 privmsg %helpserv% :STATS
331:cl1 privmsg %helpserv% :STATS test1
332:cl1 privmsg %helpserv% :NEXT
333:cl1 privmsg %helpserv% :NEXT
334:cl1 privmsg %helpserv% :PICKUP test3
335:cl1 privmsg %helpserv% :LIST ASSIGNED
336:cl1 privmsg %helpserv% :LIST UNASSIGNED
337:cl1 privmsg %helpserv% :LIST ALL
338:cl1 privmsg %helpserv% :LIST PIZZA
339:cl1 privmsg %nickserv% :ALLOWAUTH test3 test5
340:cl1 privmsg %nickserv% :ALLOWAUTH test3 test2
341:cl1 privmsg %nickserv% :ALLOWAUTH test3
342:cl1 privmsg %nickserv% :ALLOWAUTH test3 test2
343:cl3 wait cl1
344:cl3 nick test4
345:cl3 privmsg %nickserv%@%srvx% :AUTH test2 tested
346:cl3 nick test3
347:cl1 wait cl3
348:cl1 privmsg %nickserv% :ALLOWAUTH test3 test2
349:cl1 privmsg %helpserv% :REASSIGN test3 test1
350:cl3 wait cl1
351:cl3 privmsg %nickserv%@%srvx% :AUTH test2 testest
352:cl3 privmsg %helpserv% :THX IT WORX NOW!!
353:cl1 wait cl3
354:cl1 privmsg %helpserv% :LIST ME
355:cl1 privmsg %helpserv% :ADDNOTE george this guy is a tool
356:cl1 privmsg %helpserv% :ADDNOTE test2 this should be the first note that works
357:cl1 privmsg %helpserv% :ADDNOTE *test2 this guy is a tool
358:cl1 privmsg %helpserv% :CLOSE 2
359:cl1 privmsg %helpserv% :SHOW 1
360:cl1 privmsg %helpserv% :CLOSE test3
361:cl1 privmsg %opserv% :RECONNECT
362:cl1 sleep 20
363:cl1 privmsg %helpserv% :HELP
364:cl1 privmsg %helpserv% :HELP COMMANDS
365:cl1 privmsg %helpserv% :HELP BOTS
366:cl1 privmsg %helpserv% :BOTS
367:cl1 privmsg %nickserv% :SET BOGUS
368:cl1 privmsg %nickserv% :SET STYLE DEF
369:cl1 privmsg %helpserv% :HELPERS
370:cl1 privmsg %nickserv% :SET STYLE ZOOT
371:cl1 privmsg %helpserv% :HELPERS
372:cl1 privmsg %helpserv% :VERSION CVS
373:cl1 privmsg %helpserv% :PAGE and i-----i'm calling all you angels
374:cl1 privmsg %helpserv% :STATSREPORT
375:cl1 part %testchan%1
376:cl1 privmsg %opserv% :HELPSERV
377:cl1 privmsg %opserv% :HELPSERV BOGUS
378:cl1 privmsg %opserv% :HELPSERV PICKUP
379:cl1 privmsg %opserv% :HELPSERV READHELP
380:cl1 privmsg %opserv% :HELPSERV BOTS
381:cl1 privmsg %opserv% :HELPSERV STATS %helpserv%
382:cl1 privmsg %opserv% :HELPSERV STATS %helpserv% test1
383:cl1 privmsg %opserv% :HELPSERV MOVE %helpserv% %helpserv2%
384:cl1 privmsg %opserv% :HELPSERV UNREGISTER %helpserv2%
385
386# Test NickServ functions
387:cl1 privmsg %nickserv% :STATUS
388:cl1 privmsg %nickserv% :VERSION
389:cl1 privmsg %nickserv% :HELP COMMANDS
390:cl1 privmsg %nickserv% :ADDMASK
391:cl1 privmsg %nickserv% :ADDMASK *!**foo@**.bar.com
392:cl1 privmsg %nickserv% :ADDMASK **foo@**.bar.com
393:cl1 privmsg %nickserv% :OADDMASK test1 *!**foo@**.bar.com
394:cl1 privmsg %nickserv% :ODELMASK test1 *!**foo@**.bar.com
395:cl1 privmsg %nickserv% :DELMASK **foo@**.bar.com
396:cl1 privmsg %nickserv% :DELMASK *@*.%domain%
397:cl1 privmsg %nickserv% :SEARCH PRINT HOSTMASK
398:cl1 privmsg %nickserv% :SEARCH PRINT HOSTMASK EXACT *foo@*.bar.com LIMIT 5 REGISTERED >=1m
399# cannot test with email since it breaks profiling.. argh
400:cl3 privmsg %nickserv%@%srvx% :REGISTER test3 bleh
401:cl1 wait cl3
402:cl1 privmsg %nickserv% :OUNREGISTER *bleh
403:cl1 privmsg %nickserv%@%srvx% :OREGISTER test4 bleh *@* test3
404:cl1 privmsg %nickserv%@%srvx% :OREGISTER test4 bleh test3@bar
405:cl1 privmsg %nickserv% :ACCOUNTINFO test3
406:cl1 privmsg %nickserv% :ACCOUNTINFO test3bcd
407:cl1 privmsg %nickserv% :USERINFO test3
408:cl1 privmsg %nickserv% :NICKINFO test3
409:cl1 privmsg %nickserv% :OSET test3
410:cl1 privmsg %nickserv% :OSET jobaba
411:cl1 privmsg %nickserv% :OSET test3 BOGUS
412:cl1 privmsg %nickserv% :OSET test3 FLAGS +f
413:cl1 privmsg %nickserv% :RENAME test4 test3
414:cl3 wait cl1
415:cl3 privmsg %nickserv%@%srvx% :REGISTER test3 bleh
416:cl3 privmsg %nickserv%@%srvx% :AUTH bleh
417:cl1 wait cl3
418:cl1 privmsg %nickserv% :ALLOWAUTH test3 test2
419:cl3 wait cl1
420:cl3 nick test4
421:cl3 privmsg %nickserv% :REGNICK
422:cl3 nick test3
423:cl3 privmsg %nickserv%@%srvx% :REGISTER test3 bleh
424:cl3 privmsg %nickserv%@%srvx% :AUTH bleh
425:cl3 privmsg %nickserv%@%srvx% :PASS bleh blargh
426:cl3 privmsg %nickserv%@%srvx% :ADDMASK *@foo.%domain%
427:cl3 privmsg %nickserv%@%srvx% :DELMASK *@foo.%domain%
428:cl3 privmsg %nickserv%@%srvx% :SET
429:cl3 privmsg %nickserv%@%srvx% :SET MAXLOGINS 1
430:cl3 privmsg %nickserv%@%srvx% :RECLAIM test3
431:cl3 privmsg %nickserv%@%srvx% :UNREGNICK test3
432:cl3 privmsg %nickserv%@%srvx% :UNREGISTER bleach
433:cl1 wait cl3
434:cl3 quit
435:cl1 sleep 5
436:cl1 privmsg %nickserv% :RENAME *test4 test3
437:cl1 privmsg %nickserv% :OSET *test3 INFO hi hi hi!
438:cl1 privmsg %nickserv% :OSET *test3 WIDTH 1
439:cl1 privmsg %nickserv% :OSET *test3 WIDTH 80
440:cl1 privmsg %nickserv% :OSET *test3 WIDTH 1000
441:cl1 privmsg %nickserv% :OSET *test3 TABLEWIDTH 1
442:cl1 privmsg %nickserv% :OSET *test3 TABLEWIDTH 80
443:cl1 privmsg %nickserv% :OSET *test3 TABLEWIDTH 1000
444:cl1 privmsg %nickserv% :OSET *test3 COLOR OFF
445:cl1 privmsg %nickserv% :OSET *test3 COLOR ON
446:cl1 privmsg %nickserv% :OSET *test3 COLOR TV
447:cl1 privmsg %nickserv% :OSET *test3 PRIVMSG ON
448:cl1 privmsg %nickserv% :OSET *test3 PRIVMSG OFF
449:cl1 privmsg %nickserv% :OSET *test3 PRIVMSG IGNORED
450:cl1 privmsg %nickserv% :OSET *test3 ANNOUNCEMENTS ON
451:cl1 privmsg %nickserv% :OSET *test3 ANNOUNCEMENTS OFF
452:cl1 privmsg %nickserv% :OSET *test3 ANNOUNCEMENTS ?
453:cl1 privmsg %nickserv% :OSET *test3 ANNOUNCEMENTS ARE NOT SPAM
454:cl1 privmsg %nickserv% :OSET *test3 PASSWORD whocares?
455:cl1 privmsg %nickserv% :ACCOUNTINFO *test3
456:cl1 privmsg %nickserv% :OSET *test3 INFO *
457:cl1 privmsg %nickserv% :OREGISTER test4 bleh *@*
458:cl1 privmsg %nickserv% :OREGISTER test4@bogus bleh *@*
459:cl1 privmsg %nickserv% :OREGNICK *test3 test3a
460:cl1 privmsg %nickserv% :OREGNICK *test3 test3b
461:cl1 privmsg %nickserv% :OREGNICK *test3 test3c
462:cl1 privmsg %nickserv% :OUNREGNICK test3c
463:cl1 privmsg %nickserv% :OUNREGNICK test3b
464:cl1 privmsg %nickserv% :OUNREGNICK test3a
465:cl1 privmsg %chanserv% :REGISTER %testchan%2 *test2
466:cl1 privmsg %chanserv% :REGISTER %testchan%3 *test3
467:cl1 privmsg %chanserv% :%testchan%2 ADDUSER COOWNER *test3
468:cl1 privmsg %chanserv% :%testchan%3 ADDUSER COOWNER *test2
469:cl1 privmsg %chanserv% :%testchan%1 ADDUSER COOWNER *test3
470:cl1 privmsg %chanserv% :%testchan%1 ADDUSER COOWNER *test2
471:cl1 privmsg %nickserv% :MERGE *test3 *test2
472:cl1 privmsg %nickserv% :SET STYLE DEF
473:cl1 privmsg %chanserv% :%testchan%1 USERS
474:cl1 privmsg %chanserv% :%testchan%2 USERS
475:cl1 privmsg %chanserv% :%testchan%3 USERS
476:cl1 privmsg %nickserv% :ACCOUNTINFO *test2
477:cl1 privmsg %nickserv% :OSET *test2 MAXLOGINS 100
478:cl1 privmsg %nickserv% :OSET *test2 MAXLOGINS 1
479:cl1 privmsg %nickserv% :OSET *test2 LEVEL 999
480:cl1 privmsg %nickserv% :OSET *test2 LEVEL 998
481connect cl3 test3 test3 %srv1% :Test Bot 3
482:cl1 sleep 6
483:cl3 wait cl1
484:cl3 privmsg %nickserv%@%srvx% :AUTH test2 testest
485:cl3 privmsg %nickserv% :VACATION
486:cl2 wait cl3
487:cl2 privmsg %nickserv% :GHOST test3
488:cl3 sleep 3
489:cl3 quit
490
491# Test OpServ functions
492:cl1 privmsg %opserv% :ACCESS
493:cl1 privmsg %opserv% :ACCESS *
494:cl1 privmsg %opserv% :CHANINFO %testchan%1
495:cl1 privmsg %opserv% :WHOIS test1
496:cl1 privmsg %opserv% :INVITEME
497:cl1 privmsg %opserv% :JOIN %testchan%1
498:cl1 privmsg %opserv% :PART %testchan%1
499:cl1 privmsg %opserv% :STATS BAD
500:cl1 privmsg %opserv% :STATS GLINES
501:cl1 privmsg %opserv% :STATS LINKS
502:cl1 privmsg %opserv% :STATS MAX
503:cl1 privmsg %opserv% :STATS NETWORK
504:cl1 privmsg %opserv% :STATS NETWORK2
505:cl1 privmsg %opserv% :STATS RESERVED
506:cl1 privmsg %opserv% :STATS TRUSTED
507:cl1 privmsg %opserv% :STATS UPLINK
508:cl1 privmsg %opserv% :STATS UPTIME
509:cl1 privmsg %opserv% :STATS ALERTS
510:cl1 privmsg %opserv% :STATS GAGS
511:cl1 privmsg %opserv% :STATS TIMEQ
512:cl1 privmsg %opserv% :STATS WARN
513:cl1 privmsg %opserv% :VERSION
514:cl1 privmsg %opserv% :HELP COMMANDS
515:cl1 privmsg %opserv% :HELP USER
516:cl1 privmsg %opserv% :TRACE DOMAINS DEPTH 2
517:cl1 privmsg %opserv% :TRACE COUNT LIMIT 3
518:cl1 privmsg %opserv% :TRACE HULA-HOOP LIMIT 3
519:cl1 privmsg %opserv% :CSEARCH PRINT NAME * TOPIC * USERS <3 TIMESTAMP >0 LIMIT 5
520:cl1 privmsg %opserv% :CSEARCH COUNT NAME * TOPIC * USERS <3 TIMESTAMP >0 LIMIT 5
521:cl1 privmsg %opserv% :WARN %testchan%4 quiche eaters live here
522:cl1 privmsg %opserv% :STATS WARN
523:cl1 join %testchan%4
524:cl1 privmsg %opserv% :UNWARN %testchan%4
525:cl1 mode %testchan%4 +bbbsnt a!b@c.com b!c@a.org c!a.b.net
526:cl1 privmsg %opserv% :CLEARBANS %testchan%4
527:cl1 privmsg %opserv% :CLEARMODES %testchan%4
528:cl1 privmsg %opserv% :DEOP %testchan%4 test1
529:cl1 privmsg %opserv% :OP %testchan%4 test1
530:cl1 privmsg %opserv% :DEOPALL %testchan%4
531:cl1 privmsg %opserv% :VOICEALL %testchan%4
532:cl1 privmsg %opserv% :OPALL %testchan%4
533:cl1 privmsg %opserv% :JUPE crap.tacular.net 4095 Craptacular Jupe Server
534:cl1 privmsg %opserv% :UNJUPE crap.tacular.net
535:cl1 privmsg %opserv% :JUMP clan-dk
536:cl1 privmsg %opserv% :GLINE pizza 1y Pizza is not allowed on this network
537:cl1 privmsg %opserv% :GLINE *@* 1w GO AWAY I HATE THE WORLD
538:cl1 privmsg %opserv% :GLINE pizza@thehut.com 0 Fat-laden freak
539:cl1 privmsg %opserv% :GLINE foo@bar.com 1m Testing G-line removal
540:cl1 privmsg %opserv% :UNGLINE foo@bar.com 1m Testing G-line removal
541:cl1 privmsg %opserv% :UNGLINE foo@bar.com 1m Testing G-line removal
542:cl1 privmsg %opserv% :REFRESHG pizza.thehut.com
543:cl1 privmsg %opserv% :GSYNC %srv1name%.illegal
544:cl1 privmsg %opserv% :GSYNC
545:cl1 privmsg %opserv% :WHOIS test1
546:cl1 privmsg %opserv% :JOIN pizza.thehut.com
547:cl1 privmsg %opserv% :JOIN %testchan%4
548:cl1 privmsg %opserv% :JOIN %testchan%4
549:cl1 privmsg %opserv% :KICK %testchan%4 test1
550:cl1 join %testchan%4
551:cl1 privmsg %opserv% :KICKALL %testchan%4
552:cl1 join %testchan%4
553:cl1 privmsg %opserv% :KICKBAN %testchan%4 test1
554:cl1 privmsg %opserv% :PART %testchan%4 hahah u r banned
555:cl1 join %testchan%4
556:cl1 privmsg %opserv% :MODE %testchan%4 +snti
557:cl1 privmsg %opserv% :NICKBAN %testchan%4 test1
558:cl1 privmsg %opserv% :UNBAN %testchan%4 *!*@*.%domain%
559:cl1 privmsg %opserv% :KICKBANALL %testchan%4
560:cl1 part %testchan%4
561:cl1 privmsg %opserv% :COLLIDE test3 foo bar.com nick jupe
562:cl1 privmsg %opserv% :UNRESERVE test3
563:cl1 privmsg %opserv% :RESERVE test3 foo bar.com nick jupe 2
564:cl1 privmsg %opserv% :UNRESERVE test3
565:cl1 privmsg %opserv% :ADDBAD %testchan%4abc
566:cl1 privmsg %opserv% :ADDBAD %testchan%4
567:cl1 privmsg %opserv% :ADDBAD %testchan%4abc EXCEPT
568:cl1 privmsg %opserv% :ADDBAD %testchan%4abc EXCEPT %testchan%4ab
569:cl1 privmsg %opserv% :ADDEXEMPT %testchan%4ab
570:cl1 privmsg %opserv% :DELEXEMPT %testchan%4ab
571:cl1 privmsg %opserv% :ADDTRUST 1.2.3.4 0 1w We like incrementing numbers
572:cl1 privmsg %opserv% :ADDTRUST foo@1.2.3.4 0 1w We like incrementing numbers
573:cl1 privmsg %opserv% :ADDTRUST 1.2.3.4 0 1w We like incrementing numbers
574:cl1 privmsg %opserv% :DELTRUST 1.2.3.4
575:cl1 privmsg %opserv% :CLONE ADD test3 joe.bar.com nick jupe 3
576:cl1 privmsg %opserv% :CLONE ADD test3 joe@bar.com nick jupe 3
577:cl1 privmsg %opserv% :CLONE REMOVE gobbledygook
578:cl1 privmsg %opserv% :CLONE REMOVE %chanserv%
579:cl1 privmsg %opserv% :CLONE bogus test3
580:cl1 privmsg %opserv% :CLONE JOIN test3 %testchan%1
581:cl1 privmsg %opserv% :CLONE OP test3 %testchan%1
582:cl1 privmsg %opserv% :CLONE SAY test3 %testchan%1
583:cl1 privmsg %opserv% :CLONE SAY test3 %testchan%1 HAHA H4X
584:cl1 privmsg %opserv% :CLONE JOIN test3 %testchan%1abc
585:cl1 privmsg %opserv% :CLONE PART test3 %testchan%1
586:cl1 privmsg %opserv% :CLONE REMOVE test3
587:cl1 privmsg %opserv% :GAG test3!*@*.%domain% 1w Clones sux
588connect cl3 test3 test3 %srv2% :Test Bot 3
589:cl1 wait cl3
590:cl1 privmsg %opserv% :ADDALERT test3 kill NICK test3
591:cl1 privmsg %opserv% :DELALERT test3 kill NICK test3
592:cl3 privmsg %nickserv% :HELP
593:cl3 nick test4
594:cl3 privmsg %nickserv% :HELP
595:cl3 nick test3
596:cl3 privmsg %nickserv% :HELP
597:cl1 privmsg %opserv% :UNGAG test3!*@*.%domain%
598:cl1 privmsg %opserv% :SET server/max_users 128
599:cl1 privmsg %opserv% :SETTIME *
600
601# Test MemoServ functions
602:cl1 privmsg %memoserv% :SEND gobble,dy HELLO?
603:cl1 privmsg %memoserv% :SEND test2 HELLO?
604:cl1 privmsg %memoserv% :SET NOTIFY ON
605:cl1 privmsg %memoserv% :SET AUTHNOTIFY ON
606:cl2 wait cl1
607:cl2 privmsg %memoserv% :SET NOTIFY OFF
608:cl2 privmsg %memoserv% :SET AUTHNOTIFY OFF
609:cl2 privmsg %memoserv% :LIST
610:cl2 privmsg %memoserv% :SEND test1 HELLO!
611:cl2 privmsg %memoserv% :DELETE 0
612:cl1 wait cl2
613:cl1 privmsg %memoserv% :SET PRIVATE ON
614:cl2 wait cl1
615:cl2 privmsg %memoserv% :SEND test1 DO YOU STILL LIKE ME?
616:cl1 wait cl2
617:cl1 privmsg %chanserv% :%testchan%1 DELUSER test2
618:cl1 privmsg %nickserv% :RENAME test2 testy
619:cl2 wait cl1
620:cl2 privmsg %memoserv% :SEND test1 DO YOU STILL LIKE ME?
621:cl1 privmsg %memoserv% :LIST
622:cl1 privmsg %memoserv% :READ 1
623:cl1 privmsg %memoserv% :READ 10
624:cl1 privmsg %memoserv% :DELETE 10
625:cl1 privmsg %memoserv% :DELETE ALL
626:cl1 privmsg %memoserv% :DELETE ALL CONFIRM
627:cl1 privmsg %memoserv% :EXPIRE
628:cl1 privmsg %memoserv% :EXPIRY
629:cl1 privmsg %memoserv% :VERSION
630:cl1 privmsg %memoserv% :STATUS
631
632# Test ServerSpy functions
633:cl1 privmsg %opserv% :DISCONNECT
634:cl1 privmsg %opserv% :DISCONNECT
635:cl1 privmsg %opserv% :STATS SERVERSPY
636:cl1 privmsg %opserv% :CONNECT
637:cl1 privmsg %opserv% :CONNECT
638:cl1 privmsg %opserv% :DELMOD hl bogus
639:cl1 privmsg %opserv% :DELMOD hl cstrike
640:cl1 privmsg %opserv% :DELMOD bogus cstrike
641:cl1 privmsg %opserv% :DELGAME hl
642:cl1 privmsg %opserv% :DELGAME hl
643:cl1 privmsg %opserv% :ADDGAME hl Half Life
644:cl1 privmsg %opserv% :ADDGAME hl Half Life
645:cl1 privmsg %opserv% :ADDMOD hl cstrike Counter-Strike
646:cl1 privmsg %opserv% :ADDMOD hl cstrike Counter-Strike
647:cl1 privmsg %opserv% :ADDMOD bogus cstrike Counter-Strike
648:cl1 privmsg %chanserv% :HELP SERVERSPY
649:cl1 privmsg %chanserv% :SERVERSPY GAME hl
650:cl1 privmsg %chanserv% :SERVERSPY NAME Jose
651:cl1 privmsg %chanserv% :SERVERSPY NAME Jose GAME bogus
652:cl1 privmsg %chanserv% :SERVERSPY NAME Jose GAME hl MOD bogus
653:cl1 privmsg %chanserv% :SERVERSPY NAME Jose GAME hl MOD cstrike
654:cl1 privmsg %chanserv% :SERVERSPY NAME *p* GAME hl MOD cstrike
655:cl1 privmsg %chanserv% :SERVERSPY SERVER *?p* GAME hl MOD cstrike
656:cl1 privmsg %chanserv% :%testchan%1 SET GAME
657:cl1 privmsg %chanserv% :%testchan%1 SET GAME bogus
658:cl1 privmsg %chanserv% :%testchan%1 SET GAME hl
659:cl1 privmsg %chanserv% :%testchan%1 SET GAME
660:cl1 privmsg %chanserv% :%testchan%1 SET MOD
661:cl1 privmsg %chanserv% :%testchan%1 SET MOD bogus
662:cl1 privmsg %chanserv% :%testchan%1 SET MOD cstrike
663:cl1 privmsg %chanserv% :%testchan%1 SET MOD
664:cl1 privmsg %chanserv% :%testchan%1 SET CLANTAG [D]
665:cl1 privmsg %chanserv% :%testchan%1 SET CLANTAG [D*
666:cl1 privmsg %chanserv% :%testchan%1 SET CLANTAG
667:cl1 privmsg %chanserv% :%testchan%1 SET SERVERTAG [D]
668:cl1 privmsg %chanserv% :%testchan%1 SET SERVERTAG [D*
669:cl1 privmsg %chanserv% :%testchan%1 SET SERVERTAG
670:cl1 privmsg %chanserv% :%testchan%1 SERVERSPY NAME *p*
671:cl1 privmsg %chanserv% :%testchan%1 LOCATECLAN
672:cl1 privmsg %chanserv% :%testchan%1 LOCATESERVER
673:cl1 privmsg %opserv% :STATS SERVERSPY
674
675# Test proxy checker code
676:cl1 privmsg %opserv% :HOSTSCAN 62.255.216.72
677:cl1 sleep 10
678:cl1 privmsg %opserv% :CLEARHOST 62.255.216.72
679
680# Clean up test channel
681:cl1 privmsg %chanserv% :%testchan%1 SET NODELETE OFF
682:cl1 privmsg %chanserv% :%testchan%1 UNREGISTER
683
684# exit all clients
685:cl2 wait cl1
686:cl2 privmsg %nickserv%@%srvx% :UNREGISTER MY SHIZNIT
687:cl2 privmsg %nickserv%@%srvx% :UNREGISTER testest
688:cl1 wait cl2
689:cl1 quit
690:cl2 quit
691:cl3 quit
692
693# THINGS NOT HIT YET:
694# announcing user modes +w, +s, +d, +g, +h, +x
695# sending bursts with:
696# user list wrapping to a new line
697# voiced users on srvx's side
698# ban list wrapping to a new line (on first ban or on later bans)
699# sending ERROR
700# KILL from a real user
701# sending SVSNICK
702# sending PART with no reason (not just an empty reason)
703# sending raw text
704# calling change_nicklen()
705# receiving numerics 331, 432 from uplink
706# receiving AC from uplink
707# receiving FA from uplink
708# .. or any other fake host support
709# receiving voiced users in burst
710# receiving a burst where remote channel is younger
711# receiving a KILL from uplink
712# receiving a SQUIT from uplink
713# receiving a NOTICE from uplink
714# receiving a GLINE from uplink
715# receiving a MODE <nick> change for: +s, +h, +f
716# receiving a MODE <#channel> change for: +p, -k, -b
717# receiving a ERROR from uplink
718# clearing modes for a channel with modes: +t, +n, +D, +r, +c, +C, +b
719# removing a ban from a channel where an earlier ban doesn't match
720# mod_chanmode() with MC_NOTIFY flag
721# various hostmask generation options