an ant-user problem has thrown me into the depts of java's URI to file conversion..


    public void testTripleForwardSlashNetworkURI() throws Exception {
resolveTo("file:///PC03/jclasses/lib/ant-1.7.0.jar", "///PC03/jclasses/lib/ant-1.7.0.jar");
    }


    [junit]     FAILED
[junit] file:///PC03/jclasses/lib/ant-1.7.0.jar expected:</[/]PC03/jclasses/lib/an...> but was:</[]PC03/jclasses/lib/an...> [junit] junit.framework.ComparisonFailure: file:///PC03/jclasses/lib/ant-1.7.0.jar expected:</[/]PC03/jclasses/lib/an...> but was:</[]PC03/jclasses/lib/an...>
    [junit]     at junit.framework.Assert.assertEquals(Assert.java:81)



and

    public void testUnixNetworkPath() throws Exception {
        resolveTo("file://cluster/home/ant/lib", "//cluster/home/ant/lib");
    }

fails with

[junit] Bad URI file://cluster/home/ant/lib:URI has an authority component [junit] java.lang.IllegalArgumentException: Bad URI file://cluster/home/ant/lib:URI has an authority component [junit] at org.apache.tools.ant.launch.Locator.fromURI(Locator.java:179) [junit] at org.apache.tools.ant.launch.LocatorTest.resolve(LocatorTest.java:42) [junit] at org.apache.tools.ant.launch.LocatorTest.resolveTo(LocatorTest.java:49) [junit] at org.apache.tools.ant.launch.LocatorTest.testUnixNetworkPath(LocatorTest.java:66)


In Ant1.7.0, it means you cant set ant up with a file: classpath mapped to a network path; I've got a commit that will catch and skip such a failure. But it also means, well, we have a problem. And it is not one that lives in our java1.3 and earlier code:


    public void testUnixNetworkPath13() throws Exception {
resolveTo13("file://cluster/home/ant/lib", "//cluster/home/ant/lib");
    }

this passes. Which means we may be better off abandoning the new File(URI) stuff and sticking with our own code. At least that way, we are consistent across machines.

I'm going to commit my changes with the test failing, for others to look at. Before you run the tests, do a bootstrap to rebuild locator.class in the boostrap JVM.





---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to