diff options
author | dgp <dgp@users.sourceforge.net> | 2005-02-24 18:03:31 (GMT) |
---|---|---|
committer | dgp <dgp@users.sourceforge.net> | 2005-02-24 18:03:31 (GMT) |
commit | 3a81884e6d8e9430f86b677654f99c195817f1b4 (patch) | |
tree | 574146a524fefdccafeaabaa4270ce9d5d3942b6 /library/tcltest/tcltest.tcl | |
parent | a9d28b8ae2346d71a2bca2a7e85c4e7c8af1fc17 (diff) | |
download | tcl-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.tcl | 31 |
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 } } } |