diff options
Diffstat (limited to 'tests/runall.tcl')
-rw-r--r-- | tests/runall.tcl | 38 |
1 files changed, 24 insertions, 14 deletions
diff --git a/tests/runall.tcl b/tests/runall.tcl index 5b5d220..2b1c15a 100644 --- a/tests/runall.tcl +++ b/tests/runall.tcl @@ -24,25 +24,35 @@ if {[info commands interp] eq ""} { foreach script [lsort [glob *.test]] { set ::argv0 $script - set i [interp] + if {$script eq "signal.test"} { + # special case, can't run this in a child interpeter + catch -exit { + source $script + } + foreach var {pass fail skip tests} { + incr total($var) $testinfo(num$var) + } + } else { + set i [interp] - foreach var {argv0 auto_path} { - $i eval [list set $var [set ::$var]] - } + foreach var {argv0 auto_path} { + $i eval [list set $var [set ::$var]] + } - # Run the test - catch -exit {$i eval source $script} msg opts - if {[info returncode $opts(-code)] eq "error"} { - puts [format "%16s: --- error ($msg)" $script] - incr total(fail) - } + # Run the test + catch -exit {$i eval source $script} msg opts + if {[info returncode $opts(-code)] eq "error"} { + puts [format "%16s: --- error ($msg)" $script] + incr total(fail) + } - # Extract the counts - foreach var {pass fail skip tests} { - incr total($var) [$i eval "set testinfo(num$var)"] + # Extract the counts + foreach var {pass fail skip tests} { + incr total($var) [$i eval "set testinfo(num$var)"] + } + $i delete } - $i delete stdout flush } puts [string repeat = 73] |