# This file contains a top-level script to run all of the Tcl # tests. Execute it by invoking "source all" when running tclTest # in this directory. # # RCS: @(#) $Id: all,v 1.12 1999/01/26 04:11:33 jingham Exp $ # If the srcdir variable exists, tests are looked for in that # directory. Otherwise they are looked for in ".". if {! [info exists srcdir]} then { set srcdir . } # Always explicitly load `defs', so tests don't have to. This avoids # the need for each .test file to know about $srcdir. source $srcdir/defs switch $tcl_platform(platform) { "windows" { # Tests that cause tk to crash under windows. set crash {} # Tests that fail under windows. set fail { grid.test } if {! [info exist exclude] } { set exclude [string tolower "$crash $fail"] } } "macintosh" { set x [pwd] cd $tk_library set tk_library [pwd] cd $x # Tests that cause tk to crash under mac. set crash {} # Tests that fail under mac. set fail {bind.test entry.test send.test textDisp.test} set exclude [string tolower "$crash $fail"] } "unix" { set exclude "" } } if {$tcl_platform(os) == "Win32s"} { set tests [lsort [glob $srcdir/*.tes]] } else { set tests [lsort [glob $srcdir/*.test]] } foreach i $tests { set tail [file tail $i] if [string match l.*.test $tail] { # This is an SCCS lock file; ignore it. continue } if [lsearch $exclude [string tolower $tail]]>=0 { # Do not source this file; it exercises a known bug at this time. puts stdout "Skipping $tail" continue } puts stdout $tail if [catch {source $i} msg] { puts $msg } } puts "Tests all done"