From: SourceForge.net <no...@so...> - 2004-09-28 08:45:33
|
Bugs item #1018980, was opened at 2004-08-30 10:10 Message generated for change (Comment added) made by vincentdarley You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=110894&aid=1018980&group_id=10894 Category: 35. Pathname Management Group: development: 8.5a2 Status: Open Resolution: None Priority: 5 Submitted By: Daniel South (wildcard_25) Assigned to: Vince Darley (vincentdarley) Summary: winFCmd-16.12 failure on WinXP Initial Comment: Tcl: v8.5a2 HEAD at 30-08-04 OS: WinXPsp1 Built with makefile.vc using VC7 ==== winFCmd-16.12 Windows file normalization FAILED ==== Contents of test case: set expectedResult [file normalize ${d}:] set ::env(HOME) ${d}: cd set result [pwd]; # <- Must not crash if { [string equal $result $expectedResult] } { concat ok } else { list $result != $expectedResult } ---- Result was: D:/ != D:/src_tcl/win ---- Result should have been (exact matching): ok ==== winFCmd-16.12 FAILED This can be summed up with:- (bin) 1 % set pwd [pwd] C:/Program Files/Tcl/bin (bin) 2 % file normalize "c:\program files" C:/Program Files/Tcl/bin/program files I also get failures on the clock tests for ":UTC" and ":GMT" not found, but this is probably due to the normalization failure. Clock tests affected are:- 31.1, 31.2, 31.3, 32.1, 34.3, 34.4, 34.5, 34.7, 34.8, 34.10, 34.11, 34.19, 34.20, 34.21, 34.22, 34.23, 34.24, 34.25, 34.29, 34.30, 34.31, 37.1. If these aren't corrected when the file normalization is, I'll re-submit them as a seperate bug. ---------------------------------------------------------------------- >Comment By: Vince Darley (vincentdarley) Date: 2004-09-28 08:45 Message: Logged In: YES user_id=32170 Can you perhaps provide 1 or 2 new tests which test what you believe needs testing and which fail for you? ---------------------------------------------------------------------- Comment By: Daniel South (wildcard_25) Date: 2004-09-28 05:11 Message: Logged In: YES user_id=596509 I shoud also mention that test now passes by default as pwd = D:/ (or drive root where tclsh is run from) on entering the test and so isn't really testing anything. Test passes if entry pwd is not root but this is now due to another error. values of test with non-root pwd. [pwd] = D:/src_tcl_orig/win/Release pwd = D:/src_tcl_orig/win/Release d = D expectedResult = D:/src_tcl_orig/win/Release ::env(HOME) = D: result = D:/src_tcl_orig/win/Release cd no longer changes to HOME, either test needs '/' added to setting home and expected result, or D: needs to resolve to absolute path not volume relative. Which it is, depends on what 'file normalize C:' should do in my previous message. ---------------------------------------------------------------------- Comment By: Daniel South (wildcard_25) Date: 2004-09-28 04:00 Message: Logged In: YES user_id=596509 Given the conditions:- current directory on 'C:' = 'C:/temp' current directory on 'D:' = 'D:/temp' pwd = 'C:/temp' currently case1 'file normalize C:' == 'C:/temp' == pwd case2 'file normalize C:/' == 'C:/' case3 'file normalize D:' == 'D:/' case4 'file normalize D:/' == 'D:/' if 'case1' equals 'C:/temp' then 'case3' should equal 'D:/temp' or should 'case1' equal 'C:/'? ---------------------------------------------------------------------- Comment By: Vince Darley (vincentdarley) Date: 2004-09-27 15:00 Message: Logged In: YES user_id=32170 Fixed. ---------------------------------------------------------------------- Comment By: Vince Darley (vincentdarley) Date: 2004-09-27 11:24 Message: Logged In: YES user_id=32170 In this particular case, what should 'file pathtype ~' give. Currently Tcl defines all paths starting with '~' to be absolute paths, but the path here might be better as volumerelative. ---------------------------------------------------------------------- Comment By: Daniel South (wildcard_25) Date: 2004-08-31 12:18 Message: Logged In: YES user_id=596509 maybe i should have just left off the '\program files' bit :) step by step from the test:- % set pwd [pwd] C:/Program Files/Tcl/bin (bin) 2 % set d [string index $pwd 0] C (bin) 3 % file normalize ${d}: C:/Program Files/Tcl/bin (bin) 4 % set ::env(HOME) ${d}: C: (bin) 5 % cd () 6 % set result [pwd] C:/ ---------------------------------------------------------------------- Comment By: Vince Darley (vincentdarley) Date: 2004-08-31 09:23 Message: Logged In: YES user_id=32170 Your last example is correct (but you have a problem with backslash quoting): % set a "c:\program files" c:program files You're using a volume-relative path, and so the result is perfectly correct. However, that doesn't change the fact that this test is showing up some sort of problem. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=110894&aid=1018980&group_id=10894 |