cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Joerg Heinicke <joerg.heini...@gmx.de>
Subject Re: Code freeze?
Date Tue, 18 Sep 2007 23:34:06 GMT
On 18.09.2007 7:45 Uhr, Reinhard Poetz wrote:

> Test set: org.apache.cocoon.components.source.impl.ZipSourceTestCase
> ------------------------------------------------------------------------------- 
> 
> Tests run: 1, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 0.03 sec 
> <<< FAILURE!
> testURIHandling(org.apache.cocoon.components.source.impl.ZipSourceTestCase) 
> Time elapsed: 0.01 sec  <<< FAILURE!
> junit.framework.ComparisonFailure: Uri is wrong. 
> expected:<zip:file://[/]test.zip!/test.xml> but 
> was:<zip:file://[]test.zip!/test.xml>
>     at junit.framework.Assert.assertEquals(Assert.java:81)
>     at 
> org.apache.cocoon.components.source.impl.ZipSourceTestCase.testURIHandling(ZipSourceTestCase.java:45)


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].

Joerg

[1] http://svn.apache.org/viewvc?view=rev&revision=557982
[2] http://svn.apache.org/viewvc?view=rev&revision=557994
[3] http://svn.apache.org/viewvc?view=rev&revision=557984
[4] 
http://svn.apache.org/viewvc/excalibur/tags/excalibur-sourceresolve-2.2.3/src/java/org/apache/excalibur/source/impl/FileSource.java?revision=540857&view=markup
[5] 
http://svn.apache.org/viewvc/excalibur/tags/excalibur-sourceresolve-2.2.3/src/test/org/apache/excalibur/source/test/FileSourceTestCase.java?revision=553534&view=markup

Mime
View raw message