Tcl Source Code

View Ticket
Login
Ticket UUID: 775394
Title: A few tests in io.test & ioCmd.test fail when + in path
Type: Bug Version: obsolete: 8.4.4
Submitter: cleverly Created on: 2003-07-22 01:54:34
Subsystem: 25. Channel System Assigned To: dgp
Priority: 8 Severity:
Status: Closed Last Modified: 2003-10-07 21:57:12
Resolution: Fixed Closed By: dgp
    Closed on: 2003-10-07 14:57:12
Description:
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
User Comments: dgp added on 2003-10-07 21:57:12:
Logged In: YES 
user_id=80530

corrected for 8.4.5+ by making
good use of the tcltest 2 features.

cleverly added on 2003-07-22 09:00:13:
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].

cleverly added on 2003-07-22 08:59:19:

File Added - 56459: ioCmd.test.patch

cleverly added on 2003-07-22 08:58:36:

File Added - 56458: io.test.patch

Attachments: