chiark / gitweb /
mtest: Provide for sedderyb
[secnet.git] / mtest / common.tcl
index 6b6b16dcfac7e6f7af2968bad085fb6913480a02..b6fde3e7334daf6338008c17ef7990bb75396445 100644 (file)
@@ -1,5 +1,42 @@
 source test-common.tcl
 
+proc mss-program {} {
+    global env
+    set l ./make-secnet-sites
+    if {![catch { set py $env(MTEST_PYTHON) }]} {
+       set l [concat $py $l]
+    }
+    return $l
+}
+
+proc run-mss-userv {user group args} {
+    eval [list exec env USERV_USER=$user USERV_GROUP=$group] \
+        [mss-program] \
+        $args
+}
+
+proc run-mss {args} { eval [list exec] [mss-program] $args }
+
+proc diff {a b seddery {sedderyb X}} {
+    if {![string compare $sedderyb X]} { set sedderyb $seddery }
+    puts "$a $b $seddery $sedderyb"
+    exec bash -c "
+       diff -u <( <$a $seddery  ) \\
+               <( <$b $sedderyb )
+    "
+}
+
+proc diff-output {expected got suffix} {
+    global seddery
+    global tmp
+    diff mtest/$expected$suffix $tmp/$got$suffix $seddery
+}
+
 file mkdir $tmp/groupfiles
 
+set env(PYTHONHASHSEED) 0
+set env(PYTHONBYTECODEBASE) 0
+
+set seddery { sed -n 's/^[ \t]*//; /^[^#]/p' }
+
 prefix_some_path PYTHONPATH .