From: <no...@so...> - 2002-05-08 06:01:00
|
Bugs item #549614, was opened at 2002-04-27 18:34 You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=110894&aid=549614&group_id=10894 Category: 46. Embedding Support >Group: 8.4a5 >Status: Closed >Resolution: Fixed Priority: 5 Submitted By: Kevin B KENNY (kennykb) Assigned to: Don Porter (dgp) Summary: main.test fails with space in dir Initial Comment: If [info nameof] contains a space character, several test cases in main.test fail. The fault is in the test suite and not the code under test. The attached patch fixes it. ==== Tcl_Main-1.1 Tcl_Main: startup script - normal FAILED ==== Contents of test case: read $f ---- Result was: can't read "f": no such variable ---- Result should have been (exact matching): script {} 0 ---- Test generated error; Return code was: 1 ---- Return code should have been one of: 0 2 ---- Test cleanup failed: can't read "f": no such variable ==== Tcl_Main-1.1 FAILED ==== Tcl_Main-1.2 Tcl_Main: startup script - can't begin with '-' FAILED ==== Contents of test case: puts $f {puts [list $argv0 $argv $tcl_interactive]; exit} flush $f read $f ---- Result was: can't read "f": no such variable ---- Result should have been (exact matching): {C:/Documents and Settings/kevin/My Documents/SourceForge/tcl/win/Release/tcltest.exe} -script 0 ---- Test generated error; Return code was: 1 ---- Return code should have been one of: 0 2 ---- Test cleanup failed: can't read "f": no such variable ==== Tcl_Main-1.2 FAILED ==== Tcl_Main-1.3 Tcl_Main: encoding of arguments: done by system encoding Note the shortcoming explained in Tcl Patch 491789 FAILED ==== Contents of test case: read $f ---- Result was: can't read "f": no such variable ---- Result should have been (exact matching): script À 0 ---- Test generated error; Return code was: 1 ---- Return code should have been one of: 0 2 ---- Test cleanup failed: can't read "f": no such variable ==== Tcl_Main-1.3 FAILED ==== Tcl_Main-1.4 Tcl_Main: encoding of arguments: done by system encoding Note the shortcoming explained in Tcl Patch 491789 FAILED ==== Contents of test case: read $f ---- Result was: can't read "f": no such variable ---- Result should have been (exact matching): script ? 0 ---- Test generated error; Return code was: 1 ---- Return code should have been one of: 0 2 ---- Test cleanup failed: can't read "f": no such variable ==== Tcl_Main-1.4 FAILED ==== Tcl_Main-1.5 Tcl_Main: encoding of script name: system encoding loss Note the shortcoming explained in Tcl Patch 491789 FAILED ==== Contents of test case: read $f ---- Result was: can't read "f": no such variable ---- Result should have been (exact matching): À {} 0 ---- Test generated error; Return code was: 1 ---- Return code should have been one of: 0 2 ---- Test cleanup failed: can't read "f": no such variable ==== Tcl_Main-1.5 FAILED ==== Tcl_Main-1.6 Tcl_Main: encoding of script name: system encoding loss Note the shortcoming explained in Tcl Patch 491789 FAILED ==== Contents of test case: read $f ---- Result was: can't read "f": no such variable ---- Result should have been (exact matching): ? {} 0 ---- Test generated error; Return code was: 1 ---- Return code should have been one of: 0 2 ---- Test cleanup failed: can't read "f": no such variable ==== Tcl_Main-1.6 FAILED ==== Tcl_Main-5.2 Tcl_Main able to handle non-blocking stdin FAILED ==== Contents of test case: type $f { fconfigure stdin -blocking 0 puts SUCCESS } list [catch {gets $f} line] $line ---- Result was: 1 {can not find channel named "filea21cc8"} ---- Result should have been (exact matching): 0 SUCCESS ---- Test cleanup failed: can not find channel named "filea21cc8" ==== Tcl_Main-5.2 FAILED ==== Tcl_Main-5.3 Tcl_Main handles stdin EOF in mid-command FAILED ==== Contents of test case: type $f "fconfigure stdin -eofchar \032 if 1 \{\n\032" variable wait fileevent $f readable [list set [namespace which -variable wait] "child exit"] set id [after 2000 [list set [namespace which -variable wait] timeout]] vwait [namespace which -variable wait] after cancel $id set wait ---- Result was: can not find channel named "filea21cc8" ---- Result should have been (exact matching): child exit ---- Test generated error; Return code was: 1 ---- Return code should have been one of: 0 2 ---- Test cleanup failed: can't read "wait": no such variable ==== Tcl_Main-5.3 FAILED ==== Tcl_Main-5.4 Tcl_Main handles stdin EOF in mid-command FAILED ==== Contents of test case: variable wait fileevent $f readable [list set [namespace which -variable wait] "child exit"] set id [after 2000 [list set [namespace which -variable wait] timeout]] vwait [namespace which -variable wait] after cancel $id set wait ---- Result was: can not find channel named "filea21cc8" ---- Result should have been (exact matching): child exit ---- Test generated error; Return code was: 1 ---- Return code should have been one of: 0 2 ---- Test cleanup failed: can't read "wait": no such variable ==== Tcl_Main-5.4 FAILED ==== Tcl_Main-5.10 Tcl_Main: exit main loop in mid-interactive command FAILED ==== Contents of test case: type $f "testsetmainloop after 2000 testexitmainloop puts \{1 2" after 4000 type $f "3 4\}" set code1 [catch {gets $f} line1] set code2 [catch {gets $f} line2] set code3 [catch {gets $f} line3] list $code1 $line1 $code2 $line2 $code3 $line3 ---- Result was: 1 {can not find channel named "filea08730"} 1 {can not find channel named "filea08730"} 1 {can not find channel named "filea08730"} ---- Result should have been (exact matching): 0 {Exit MainLoop} 0 {1 2} 0 {3 4} ---- Test cleanup failed: can not find channel named "filea08730" ==== Tcl_Main-5.10 FAILED ---------------------------------------------------------------------- >Comment By: Don Porter (dgp) Date: 2002-05-08 02:00 Message: Logged In: YES user_id=80530 fixed in the HEAD (8.4a5) ---------------------------------------------------------------------- Comment By: Don Porter (dgp) Date: 2002-05-08 01:57 Message: Logged In: YES user_id=80530 Here's a patch with the alternate fixes to main.test as well as fixes for similar problems in load.test and in fileName.test. ---------------------------------------------------------------------- Comment By: Don Porter (dgp) Date: 2002-05-07 23:20 Message: Logged In: YES user_id=80530 This patch works, but I prefer a style that when [list] is required for proper quoting, you go ahead and quote all elements within a single [list]. So: open "|[list [interpreter] arg1 arg2]" w+ rather than open "|[list [interpreter]] arg1 arg2" w+ even though the literals "arg1" and "arg2" do not need the quoting. I'm working up a jumbo patch to deal with space in path problems in the test suite. I'll include my alternative in that. ---------------------------------------------------------------------- You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=110894&aid=549614&group_id=10894 |