summaryrefslogtreecommitdiff
path: root/tk/tests/all
diff options
context:
space:
mode:
Diffstat (limited to 'tk/tests/all')
-rw-r--r--tk/tests/all73
1 files changed, 73 insertions, 0 deletions
diff --git a/tk/tests/all b/tk/tests/all
new file mode 100644
index 00000000000..b5a59332a71
--- /dev/null
+++ b/tk/tests/all
@@ -0,0 +1,73 @@
+# 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$
+# 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"