chiark / gitweb /
stest: Machinery for runing an old secnet if a test wants
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Thu, 5 Dec 2019 00:58:10 +0000 (00:58 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 15 Feb 2020 21:56:53 +0000 (21:56 +0000)
Tests can now set oldsecnet(SITE).

Old secnets want a "filename" key in their log config.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
stest/common.tcl

index 89045a5147b5fb46206385be1c0afb8ab25bff91..bc00d22297ff0e9f2e2f0d0cdf902874e10c1544 100644 (file)
@@ -30,6 +30,11 @@ set privkey(outside) test-example/outside.privkeys/
 
 proc sitesconf_hook {l} { return $l }
 
+proc oldsecnet {site} {
+    upvar #0 oldsecnet($site) oldsecnet
+    expr {[info exists oldsecnet] && [set oldsecnet]}
+}
+
 proc mkconf {location site} {
     global tmp
     global builddir
@@ -108,6 +113,11 @@ exec cat
        log logfile {
            prefix \"$site\";
            class \"debug\",\"info\",\"notice\",\"warning\",\"error\",\"security\",\"fatal\";
+    "
+    if {[oldsecnet $site]} { append cfg "
+           filename \"/dev/stderr\";
+    " }
+    append cfg "
        };
     "
     append cfg {
@@ -153,7 +163,11 @@ proc spawn-secnet {location site} {
     set ch [open $cf w]
     puts $ch [mkconf $location $site]
     close $ch
-    set argl [list $builddir/secnet -dvnc $cf]
+    set secnet $builddir/secnet
+    if {[oldsecnet $site]} {
+       set secnet $env(OLD_SECNET_DIR)/secnet
+    }
+    set argl [list $secnet -dvnc $cf]
     set divertk SECNET_STEST_DIVERT_$site
     puts -nonewline "spawn"
     foreach k [array names env] {