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