cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Carsten Ziegeler <cziege...@apache.org>
Subject Re: Code freeze?
Date Wed, 19 Sep 2007 12:35:16 GMT
Joerg Heinicke schrieb:
> On 19.09.2007 3:12 Uhr, Carsten Ziegeler wrote:
> 
>>> This code was updated on 20.07.2007 with the upgrade to sourceresolve
>>> 2.2.3 (rev 557982 and 557994 [1, 2] and 557984 on 2.1 [3]). Since then
>>> it must be failing. From what I get it's now failing for Windows with 2
>>> slashes while the test expects 3. Linux/Mac OS X seems to work since
>>> they have 3 slashes now. Before it was the other way around, Windows
>>> worked with 2, Linux/Mac OS X failed with 1.
>>>
>>> From the implementation [4] this is pretty clear:
>>>
>>> uri = file.toURL().toExternalForm();
>>> // toExternalForm() is buggy, see e.g.
>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4924415
>>> // therefore we check if file: is followed by just one slash
>>> // TODO when we move to JDK 1.4+, we should use
>>> file.toURI().toASCIIString() instead.
>>> if ( uri.length() > 6 && uri.startsWith("file:/") && uri.charAt(6)
!=
>>> '/' )
>>> {
>>>     uri = "file:///" + uri.substring(6);
>>> }
>>>
>>> It just adds 3 slashes instead of 2 as it is supposed to do. So we
>>> probably need a sourceresolve 2.2.4. Is this likely to happen fast or do
>>> we need to revert the test case to not fail for the moment? Anyway, I'm
>>> going to change the test case back to 2 slashes. sourceresolve's own
>>> test case also only checks for 2 slashes [5].
>>>
>> Hmm, I'm still not sure what is wrong: the sourceresolver impl or this
>> test? After the disaster of the 2.2.2 release breaking this stuff, I
>> tested the 2.2.3 release on both windows and macos x and it did work for
>> me. I also tested Cocoon 2.1.x and trunk with it and it worked - both
>> failed with the 2.2.2 version.
>>
>> So, perhaps its just the test case which is wrong?
> 
> Without the above condition the uri came out with 2 slashes on Windows
> and 1 slash on other os. With the condition you actually replace file:/
> with file:/// so you eventually have 3 slashes in case there was only
> one before.
> 
> If you had a successful run on Windows (did it run through the condition
> or had it 3 slashes from the beginning??) there must be a different
> behavior between Windows versions as well. But can you place
> double-check that? On Windows you should really get exactly 2 slashes.
> That's why I thought the code needs to be fixed and not the test case.
> The uri should always have 2 slashes.
> 
I'll double check on windows - I tested weeks ago :)
But, I think that we need the three slashes in some cases, as the uri is
otherwise not parsable as a uri again. Although its not a correct uri it
works whereas the correct uri does not.

Carsten


-- 
Carsten Ziegeler
cziegeler@apache.org

Mime
View raw message