chiark / gitweb /
legal: Add missing notice to many files
[secnet.git] / mtest / common.tcl
1 # This file is part of secnet.
2 # See LICENCE and this file CREDITS for full list of copyright holders.
3 # SPDX-License-Identifier: GPL-3.0-or-later
4 # There is NO WARRANTY.
5
6 source test-common.tcl
7
8 proc mss-program {} {
9     global env
10     set l ./make-secnet-sites
11     if {![catch { set py $env(MTEST_PYTHON) }]} {
12         set l [concat $py $l]
13     }
14     return $l
15 }
16
17 proc run-mss-userv {user group args} {
18     eval [list prexec env USERV_USER=$user USERV_GROUP=$group] \
19          [mss-program] \
20          $args
21 }
22
23 proc run-mss {args} { eval [list prexec] [mss-program] $args }
24
25 proc diff {a b seddery {sedderyb X}} {
26     if {![string compare $sedderyb X]} { set sedderyb $seddery }
27     puts "$a $b $seddery $sedderyb"
28     exec bash -c "
29         diff -u <( <$a $seddery  ) \\
30                 <( <$b $sedderyb )
31     "
32 }
33
34 proc diff-output {expected got suffix} {
35     global seddery
36     global tmp
37     diff mtest/$expected$suffix $tmp/$got$suffix $seddery
38 }
39
40 proc diff-mss-sites-conf {expected got} {
41     set seddery { sed -n 's/^[ \t]*//; /^[^#]/p' }
42     diff $expected $got $seddery
43 }
44
45 file mkdir $tmp/groupfiles
46
47 set env(PYTHONHASHSEED) 0
48 set env(PYTHONBYTECODEBASE) 0
49
50 set seddery { sed -n 's/^[ \t]*//; /^[^#]/p' }
51
52 prefix_some_path PYTHONPATH .