1 & testing user control
2 &
3 & this ec contains sequences of commands for setting up tests of
4 & user control and for a standard test.
5 &
6 & thvv 1/71
7 &
8 & ------------------------------------
9 &
10 &goto &ec_name
11 & - - - - - - - - - - - - - - - - - - - - - -
12 &label test_uc
13 &print Instructions^/
14 &print first, addname test_uc.ec regenerate_test_environment.ec warm.ec standard_test.ec end_uctest.ec
15 &print then do "ec func"^/
16 &print regenerate_test_environment - makes new test bed.
17 &print warm - used to reset test bed before running a test.
18 &rpint standard_test - runs standard test of user control
19 &print end_uctest - destroys test bed
20 &quit
21 &
22 & - - - - - - - - - - - - - - - - - - - - - -
23 &label regenerate_test_environment
24 &attach
25 &input_line off
26 &
27 createdir pdt update
28 createdir Proj1 2 3 4 5 6
29 createdir SysAdmin
30 createdir Multics
31 qedx
32 a
33 /* System Master File SMF for User/System control test environment */
34
35 Maxunits: 60; /* six users */
36 Maxusers: 9; /* nine slots in table */
37 Maxprim: 10000;
38 Uwt: special_listener, 5;
39 Uwt: process_overseer_, 10;
40
41 Administrator: VanVleck.SysAdmin;
42 Administrator: *.SysAdmin;
43 Administrator: *.Multics;
44
45 Group: Other;
46 Grace: 2880;
47 Ring: 4, 7;
48 Attributes: brief, vinitproc, vhomedir, anonymous, bumping, nostartup;
49
50
51 projectid: SysAdmin; group: System;
52 projectdir: >user_dir_dir>SysAdmin>tudd>SysAdmin;
53 maxprim: 2;
54 attributes: nobump, guaranteed_login;
55
56 projectid: Proj1; group: Group1;
57 projectdir: >user_dir_dir>SysAdmin>tudd>Proj1;
58 maxprim: 2;
59
60 projectid: Proj2; group: Group1;
61 projectdir: >user_dir_dir>SysAdmin>tudd>Proj2;
62 maxprim: 1;
63
64 projectid: Proj3; group: Group1;
65 projectdir: >user_dir_dir>SysAdmin>tudd>Proj3;
66 maxprim: 3;
67
68 projectid: Proj4; group: Group2;
69 projectdir: >user_dir_dir>SysAdmin>tudd>Proj4;
70 maxprim: 3;
71
72 projectid: Proj5; group: Other;
73 projectdir: >user_dir_dir>SysAdmin>tudd>Proj5;
74 maxprim: 3;
75
76 projectid: Proj6; group: Other;
77 projectdir: >user_dir_dir>SysAdmin>tudd>Proj6;
78 maxprim: 3;
79
80 end;
81 ^\
82 wSMF
83 q
84 cv_smf SMF; rn SMF.sat sat
85 &
86 & generate initial person master file and person name table
87 &
88 qedx
89 a
90 /* Person Master File PERSMF for User/System control test environment */
91
92 personid: Repair; password: repair; projectid: SysAdmin;
93 personid: VanVleck; password: tvv; projectid: SysAdmin; alias: vv;
94
95 personid: User1; password: 1; projectid: Proj1; alias: u1;
96 personid: User2; password: 2; projectid: Proj2; alias: u2;
97 personid: User3; password: 3; projectid: Proj3; alias: u3;
98 personid: User4; password: 4; projectid: Proj4; alias: u4;
99 personid: User5; password: 5; projectid: Proj5; alias: u5;
100 personid: User6; password: 6; projectid: Proj6; alias: u6;
101 personid: User7; password: 7; projectid: Proj7; alias: u7;
102 personid: User8; password: 8; projectid: Proj8; alias: u8;
103 personid: User9; password: 9; alias: u9;
104 personid: User11; password: 11; projectid: Proj1; alias: u11;
105 personid: User12; password: 12; projectid: Proj1; alias: u12;
106 personid: User13; password: 13; projectid: Proj1; alias: u13;
107 personid: User21; password: 21; projectid: Proj2; alias: u21;
108 personid: User22; password: 22; projectid: Proj2; alias: u22;
109 personid: User23; password: 23; projectid: Proj2; alias: u23;
110 personid: User31; password: 31; projectid: Proj3; alias: u31;
111 personid: User32; password: 32; projectid: Proj3; alias: u32;
112 personid: User33; password: 33; projectid: Proj3; alias: u33;
113 personid: User41; password: 41; projectid: Proj4; alias: u41;
114 personid: User42; password: 42; projectid: Proj4; alias: u42;
115 personid: User43; password: 43; projectid: Proj4; alias: u43;
116 personid: User51; password: 51; projectid: Proj5; alias: u51;
117 personid: User52; password: 52; projectid: Proj5; alias: u52;
118 personid: User53; password: 53; projectid: Proj5; alias: u53;
119 personid: User61; password: 61; projectid: Proj6; alias: u61;
120 personid: User62; password: 62; projectid: Proj6; alias: u62;
121 personid: User63; password: 63; projectid: Proj6; alias: u63;
122
123 end;
124 ^\
125 wPERSMF
126 q
127 cv_persmf PERSMF; rn PERSMF.pnt pnt
128 &
129 & now generate pmf's and pdt's for all projects. note proj3 has no pmf or pdt
130 &
131 qedx
132 a
133 /* Project Master file PMF for testing user control. */
134
135 Projectid: Proj1;
136 Attributes: dialok, bumping;
137 Grace: 1;
138 Homedir: >udd>sa>tudd>Proj1;
139 Accountid: Proj1$account;
140 Initproc: process_overseer_;
141
142 personid: User1;
143 personid: User11;
144 personid: User12;
145 personid: User13;
146
147 end;
148 ^\
149 wProj1.pmf
150 q
151 qedx
152 a
153 /* Project Master file PMF for testing user control. */
154
155 Projectid: Proj2;
156 Homedir: >udd>sa>tudd>Proj2;
157 Accountid: Proj2$account;
158 Initproc: process_overseer_;
159 Attributes: vhomedir, bumping;
160 Grace: 1;
161
162 personid: User2;
163 personid: User21;
164 personid: User22;
165 personid: User23;
166
167 end;
168 ^\
169 wProj2.pmf
170 q
171 qedx
172 a
173 /* Project Master file PMF for testing user control. */
174
175 Projectid: Proj4;
176 Homedir: >udd>sa>tudd>Proj4;
177 Accountid: Proj4$account;
178 Initproc: process_overseer_;
179 Attributes: vinitproc, vhomedir;
180 Grace: 1;
181
182 personid: User4;
183 personid: User41; attributes: bumping; grace: 2880;
184 personid: User42; attributes: bumping;
185 personid: User43;
186
187 personid: *;
188 initproc: special_listener;
189 homedir: >udd>sa>tudd>Proj4;
190 password: anon;
191
192 end;
193 ^\
194 wProj4.pmf
195 q
196 qedx
197 a
198 /* Project Master file PMF for testing user control. */
199
200 Projectid: Proj5;
201 Homedir: >udd>sa>tudd>Proj5;
202 Accountid: Proj5$account;
203 Initproc: process_overseer_;
204 Attributes: vinitproc;
205 Grace: 1;
206
207 personid: User5;
208 personid: User51;
209 personid: User52;
210 personid: User53;
211 personid: *;
212 homedir: >udd>sa>tudd>Proj5;
213 initproc: special_listener;
214
215 end;
216 ^\
217 wProj5.pmf
218 q
219 qedx
220 a
221 /* Project Master file PMF for testing user control. */
222
223 Projectid: Proj6;
224 Homedir: >udd>sa>tudd>Proj6;
225 Accountid: Proj6$account;
226 Initproc: process_overseer_;
227 Attributes: vinitproc, vhomedir;
228 Grace: 1;
229
230 personid: User6; attributes: brief;
231 personid: User61;
232 personid: User62;
233 personid: User63;
234
235 end;
236 ^\
237 wProj6.pmf
238 q
239 qedx
240 a
241 /* Project Master file PMF for testing user control. */
242
243 Projectid: SysAdmin;
244 Accountid: SysAdmin$account;
245 Initproc: process_overseer_;
246 Attributes: guaranteed_login, nobump, vinitproc, vhomedir, nostartup;
247 Grace: 2880;
248
249 personid: Repair;
250 personid: VanVleck;
251
252 end;
253 ^\
254 wSysAdmin.pmf
255 q
256 cv_pmf Proj1 2 4 5 6.pmf; move Proj1 2 4 5 6.pmf.pdt pdt>Proj1 2 4 5 6.pdt
257 cv_pmf SysAdmin.pmf; move SysAdmin.pmf.pdt pdt>SysAdmin.pdt
258 &
259 create master_group_table; addname master_group_table mgt
260 ed_mgt mgt
261 System 1
262 a Group1 2 c abs 3 *
263 a Group2 1 c abs 3 *
264 a Other -1
265 w
266 q
267 &
268 qedx
269 a
270 Examples of correct login:
271 login Person_name Projectid
272 enterp Special_name Projectid
273 enter Special_name Projectid
274 Upper and lower case letters are different.
275 ^\
276 wlogin_help
277 q
278 &
279 create communications
280 db
281 /communications/0="secr"
282 1="et "
283 2=1000
284 3=1000
285 4=1000
286 5=1000
287 .q
288 &
289 qedx
290 a
291 * test "lines" file for User/System Control test environment
292
293 tty111
294 tty222
295 tty333
296 tty444
297 tty555
298 tty666
299 tty777
300 tty888
301 tty999
302 ^\
303 wlines
304 q
305 &
306 create installation_parms
307 ed_installation_parms installation_parms
308 r all
309 User Control Test Environment
310 Multics Development
311 MIT
312 M u l t i c s D e v e l o p m e n t
313 M I T
314 3600
315 1
316 1800
317 900
318 2
319 0 0 0 0
320 480 1 0 0
321 360 1 0 0
322 150 1 0 0
323 240 1 0 0
324 0 0 0 0
325 0 0 0 0
326 0 0 0 0
327 .00000038580241
328 10
329 360 1 2
330 240 1 1.8
331 150 1 1.5
332 150 1 1.5
333 16000000
334 16000000
335 16000000
336 16000000
337 0 0 0 0 0 0 0 0
338 0 0 0 0 0 0 0 0
339 0 0 0 0 0 0 0 0
340 0 0 0 0 0 0 0 0
341 x
342 y
343 X n Your account is out of funds.
344 T n Your account is past its termination date.
345 W y Your account is nearly out of funds.
346 R y Your account is near its termination date.
347 Y y Your account is out of funds
348 S y Your account is past its termination date.
349 .
350 4 16 7 10 30 6 3 3
351 0
352 w
353 q
354 &
355 & get fresh copy of bound components archive
356 &
357 cp >ldd>tools>bc>bound_user_control_.archive buc.archive
358 &print $$$ done
359 &quit
360 &
361 & - - - - - - - - - - - - - - - - - - - - - -
362 &
363 &label end_uctest
364 &
365 & clean out after a test
366 &
367 answer yes deletedir pdt
368 answer yes deletedir update
369 delete pnt pnt.ht sat
370 answer yes deletedir Proj1 2 3 4 5 6
371 answer yes deletedir SysAdmin
372 delete PERSMF SMF *.pmf lines login_help mgt answer_table log accounting installation_parms
373 delete communications whotab
374 &print $$$ done
375 &quit
376 &
377 & - - - - - - - - - - - - - - - - - - - - - -
378 &
379 &label warm
380 &
381 & warmstart after having a bound version
382 &
383 delete log accounting answer_table whotab
384 create log accounting
385 &attach
386 debug
387 /accounting/0=2000;.q
388 &detach
389 &print $$$now do a "new_proc" and a "test_dialup"
390 &quit
391 &
392 & - - - - - - - - - - - - - - - - - - - - - -
393 &
394 &label standard_test
395 &
396 &print $$$ standard test of user control
397 &
398 &attach
399 test_dialup &1
400 dialup tty111
401 login User1 Proj1; plain-vanilla login 1
402 1
403 .lcs$test wd
404 dialup tty222
405 l User2; default proj and bad password and "l"
406 zzz
407 l User2; default proj, good password 2
408 2
409 dialup tty333
410 l User3; pdt missing for proj 3 on purpose
411 3
412 enterp Foo Proj4; anonymous user 2.5
413 anon
414 dialup tty444
415 l u4; alias 3.5
416 4
417 dialup tty555
418 l u2; already logged in
419 2
420 dialup tty555
421 enterp Foo Proj1; no anon user
422 zzz
423 l User1 Proj4; wrong proj
424 1
425 new_proc tty111
426 terminate tty222
427 dialup tty555
428 login Garbage; unknown name
429 zzz
430 enterp Foo Proj5; give pass when none required 4
431 zzz
432 dialup tty666
433 junk User1; incorrect login word
434 login User9; no default proj
435 9
436 wait allow grace to expire
437 dialup tty666
438 login; no user name
439 xxx
440 l u11 -bf; Group1 full, shd bump u1 4
441 11
442 .lcs
443 dialup tty777
444 l User4 Garbage; bad project id
445 4
446 l u12 -np; could bump user2 but no-preempt option
447 12
448 dialup tty777
449 l u6; user locked in brief mode in pdt 5
450 6
451 dialup tty111
452 l u61; fills system 6
453 61
454 dialup tty888
455 l u62; should be system full because ^bumping
456 62
457 dialup tty888
458 l u22; should bump user2
459 22
460 dialup tty999
461 l Repair; overload system
462 repair
463 .lcs
464 logout tty111
465 dialup tty111
466 l User1; check last login - bumps user11 7
467 1
468 who
469 logout tty999
470 lh tty111
471 login u13 -po special_listener; try special initproc
472 13
473 who
474 &print $$$ now a test of installations
475 .qedx
476 rProj5.pmf
477 $i
478 personid: New_fellow;
479 ^\
480 wtemp
481 q
482 .cv_pmf temp
483 .install temp.pdt
484 .qedx
485 rPERSMF
486 $i
487 personid: New_fellow; alias: nf; password: new; projectid: Proj5;
488 ^\
489 wtemp
490 q
491 .cv_persmf temp
492 .install temp.pnt
493 .admin$word login "Test dialup message buffer."
494 logout tty888
495 logout tty111
496 dialup tty111
497 wuggawuggawugga; bad login word
498 l New_fellow
499 new
500 .admin$word login
501 .cv_pmf Proj5.pmf
502 &print $$$ this should bump the guy...
503 .install Proj5.pmf.pdt
504 who
505 .cv_persmf PERSMF
506 .install PERSMF.pnt
507 .dl temp.pnt temp.pdt
508 .qx
509 rSMF
510 /Proj4/;/^$/d
511 wtemp
512 q
513 .cv_smf temp
514 &print $$$ should bump Foo.Proj4
515 .install temp.sat
516 .cv_smf SMF
517 .install SMF.sat
518 .dl temp.sat
519 &print $$$ test of limits
520 logout tty111
521 dialup tty111
522 l u1
523 1
524 .qx
525 rProj1.pmf
526 /User1/a
527 limit: 0;
528 ^\
529 wtemp
530 q
531 .cv_pmf temp
532 .install temp.pdt
533 .act_ctl_$update
534 &print $$$ user1 should be bumped
535 wait
536 d
537 l u1; shd not be able to get in either
538 1
539 .cv_pmf Proj1.pmf; install Proj1.pmf.pdt
540 &print $$$ now test password changing
541 dialup tty888
542 l u11 -cpw
543 11
544 xxx
545 logout tty888
546 dialup tty888
547 l u11
548 xxx
549 logout tty888
550 dialup tty888
551 l u11 -cpw -bf -pf
552 xxx
553 11
554 &print $$$ test of help, etc, then shutown
555 d
556 hoohah
557 help
558 e
559 logout tty444
560 logout tty555
561 .admin$stop
562 &print $$$ now will check accounting
563 .ap * * accounting
564 .print_log log -a
565 &print $$$ now wait for all bumps
566 wait
567 .admin$stop
568 .act_ctl_$act_ctl_close
569 quit
570 &print &quit
571 &quit
572 &