Tests: io-40.6, io-40.11, io-40.12, io-40.14,
iocmd-12.2, iocmd-12.3 and iocmd-12.5 all fail if make
test is run from a director which contains a + (or any
other character which [regexp] and [regsub] treat
specially) because the [regsub] in the test ends up not
matching it's input.
An example:
==== io-40.6 POSIX open access modes: EXCL FAILED
==== Contents of test case:
removeFile test3
set f [open $path(test3) w]
puts $f xyzzy
close $f
set msg [list [catch {open $path(test3) {WRONLY
CREAT EXCL}} msg] $msg]
regsub " already " $msg " " msg
regsub [file join {} $path(test3)] $msg "test3" msg
string tolower $msg
---- Result was:
1 {couldn't open
"/usr/users/mcleverl/testbuild/build01+threads+langinfo+shared+load+symbols/test3":
file exists}
---- Result should have been (exact matching):
1 {couldn't open "test3": file exists}
==== io-40.6 FAILED
Patch for io.test
ioCmd.test.patch
Logged In: YES
user_id=22080
I've uploaded two patches which use [string map] to properly
escape all the characters that have special meaning to [regsub].
Logged In: YES
user_id=80530
corrected for 8.4.5+ by making
good use of the tcltest 2 features.