#----- argument parser does not look for args beyond header -----
-#run-mss-userv
+set env(LC_MESSAGES) C
+
+set try [lreplace $good 4 4 --misparse-test]
+
+if {![catch {
+ eval run-mss-userv $try
+} emsg]} {
+ error "should have failed"
+} else {
+ switch -glob $emsg {
+ {*unrecognized arguments: --misparse-test*} {
+ error "misparsed!"
+ }
+ {*No such file or directory: '--misparse-test/TGinside'*} {
+ }
+ * {
+ error "huh ? $emsg"
+ }
+ }
+}
+
+#----- wrong group is rejected -----
+
+set bad [lreplace $good 1 1 Gwrong]
+
+if {![catch {
+ eval run-mss-userv $bad
+} emsg]} {
+ error "should have failed"
+} else {
+ switch -glob $emsg {
+ {*caller not in group Ginside*} { }
+ * { error "huh ? $emsg" }
+ }
+}
+
+#----- resulting sites file is processable -----
+
+eval run-mss $tmp/out.sites >$tmp/out.conf
+
+diff-mss-sites-conf mtest/e-userv.conf $tmp/out.conf