chiark / gitweb /
90eeb3d2aeb5bdcd17f22dafcbc8f0a6151829ff
[secnet.git] / mtest / t-userv
1 #! /usr/bin/tclsh
2
3 source mtest/common.tcl
4
5 #----- success test -----
6
7 set good [list Uuser Ginside -u \
8           mtest/header.sites $tmp/groupfiles $tmp/out.sites Ginside \
9           < mtest/Ginside.sites]
10
11 eval run-mss-userv $good
12
13 diff-output e-userv out .sites
14
15 #----- argument parser does not look for args beyond header -----
16
17 set env(LC_MESSAGES) C
18
19 set try [lreplace $good 4 4 --misparse-test]
20
21 if {![catch {
22     eval run-mss-userv $try
23 } emsg]} {
24     error "should have failed"
25 } else {
26     switch -glob $emsg {
27         {*unrecognized arguments: --misparse-test*} {
28             error "misparsed!"
29         }
30         {*No such file or directory: '--misparse-test/TGinside'*} {
31         }
32         * {
33             error "huh ? $emsg"
34         }
35     }
36 }
37
38 #----- wrong group is rejected -----
39
40 set bad [lreplace $good 1 1 Gwrong]
41
42 if {![catch {
43     eval run-mss-userv $bad
44 } emsg]} {
45     error "should have failed"
46 } else {
47     switch -glob $emsg {
48         {*caller not in group Ginside*} { }
49         * { error "huh ? $emsg" }
50     }
51 }
52
53 #----- resulting sites file is processable -----
54
55 eval run-mss $tmp/out.sites >$tmp/out.conf