summaryrefslogtreecommitdiff
path: root/tests/runall.tcl
diff options
context:
space:
mode:
Diffstat (limited to 'tests/runall.tcl')
-rw-r--r--tests/runall.tcl38
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]