summaryrefslogtreecommitdiffstats
path: root/library/tcltest/tcltest.tcl
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2005-02-24 18:03:31 (GMT)
committerdgp <dgp@users.sourceforge.net>2005-02-24 18:03:31 (GMT)
commit3a81884e6d8e9430f86b677654f99c195817f1b4 (patch)
tree574146a524fefdccafeaabaa4270ce9d5d3942b6 /library/tcltest/tcltest.tcl
parenta9d28b8ae2346d71a2bca2a7e85c4e7c8af1fc17 (diff)
downloadtcl-3a81884e6d8e9430f86b677654f99c195817f1b4.zip
tcl-3a81884e6d8e9430f86b677654f99c195817f1b4.tar.gz
tcl-3a81884e6d8e9430f86b677654f99c195817f1b4.tar.bz2
* library/tcltest/tcltest.tcl: Better use of [glob -types] to avoid
* tests/tcltest.test: failed attempts to [source] a directory, and similar matters. Thanks to "mpettigr". [Bug 1119798] * library/tcltest/pkgIndex.tcl: Bump to tcltest 2.2.8
Diffstat (limited to 'library/tcltest/tcltest.tcl')
-rw-r--r--library/tcltest/tcltest.tcl31
1 files changed, 14 insertions, 17 deletions
diff --git a/library/tcltest/tcltest.tcl b/library/tcltest/tcltest.tcl
index eac8278..4e42932 100644
--- a/library/tcltest/tcltest.tcl
+++ b/library/tcltest/tcltest.tcl
@@ -16,7 +16,7 @@
# Contributions from Don Porter, NIST, 2002. (not subject to US copyright)
# All rights reserved.
#
-# RCS: @(#) $Id: tcltest.tcl,v 1.78.2.12 2004/11/02 19:03:07 dgp Exp $
+# RCS: @(#) $Id: tcltest.tcl,v 1.78.2.13 2005/02/24 18:03:36 dgp Exp $
package require Tcl 8.3 ;# uses [glob -directory]
namespace eval tcltest {
@@ -24,7 +24,7 @@ namespace eval tcltest {
# When the version number changes, be sure to update the pkgIndex.tcl file,
# and the install directory in the Makefiles. When the minor version
# changes (new feature) be sure to update the man page as well.
- variable Version 2.2.7
+ variable Version 2.2.8
# Compatibility support for dumb variables defined in tcltest 1
# Do not use these. Call [package provide Tcl] and [info patchlevel]
@@ -2569,14 +2569,16 @@ proc tcltest::GetMatchingFiles { args } {
set matchFileList [list]
foreach match [matchFiles] {
set matchFileList [concat $matchFileList \
- [glob -directory $directory -nocomplain -- $match]]
+ [glob -directory $directory -types {b c f p s} \
+ -nocomplain -- $match]]
}
# List files in $directory that match patterns to skip.
set skipFileList [list]
foreach skip [skipFiles] {
set skipFileList [concat $skipFileList \
- [glob -directory $directory -nocomplain -- $skip]]
+ [glob -directory $directory -types {b c f p s} \
+ -nocomplain -- $skip]]
}
# Add to result list all files in match list and not in skip list
@@ -2618,25 +2620,20 @@ proc tcltest::GetMatchingDirectories {rootdir} {
# comes up to avoid infinite loops.
set skipDirs [list $rootdir]
foreach pattern [skipDirectories] {
- foreach path [glob -directory $rootdir -nocomplain -- $pattern] {
- if {[file isdirectory $path]} {
- lappend skipDirs $path
- }
- }
+ set skipDirs [concat $skipDirs [glob -directory $rootdir -types d \
+ -nocomplain -- $pattern]]
}
# Now step through the matching directories, prune out the skipped ones
# as you go.
set matchDirs [list]
foreach pattern [matchDirectories] {
- foreach path [glob -directory $rootdir -nocomplain -- $pattern] {
- if {[file isdirectory $path]} {
- if {[lsearch -exact $skipDirs $path] == -1} {
- set matchDirs [concat $matchDirs \
- [GetMatchingDirectories $path]]
- if {[file exists [file join $path all.tcl]]} {
- lappend matchDirs $path
- }
+ foreach path [glob -directory $rootdir -types d -nocomplain -- \
+ $pattern] {
+ if {[lsearch -exact $skipDirs $path] == -1} {
+ set matchDirs [concat $matchDirs [GetMatchingDirectories $path]]
+ if {[file exists [file join $path all.tcl]]} {
+ lappend matchDirs $path
}
}
}