Simon IJskes - QCG wrote:
There are a lot URI/URL related test failures. What are we going to do
about it?
Gr. Simon
The URI strings are non compliant.
An array of URL strings separated by spaces are used for codebase
annotations, so any spaces must be escaped prior to being used in
codebase annotations.
I created a utility class to escape illegal characters and perform
normalisation compliant with RFC3986; org.apache.river.impl.net.UriString.
This URI contains an unescaped space, an illegal character.
Test Failed: Test Failed: com.sun.jini.qa.harness.TestException:
RMIClassLoader.loadClass(file:///x1/jenkins/jenkins-slave/workspace/River-QA-matrix/jdk/JDK
1.7
(latest)/label/Ubuntu/test/com-sun-jini-test-spec-loader-pref-preferredClassProvider-LoadClassesClassNotFoundFileCann.td/build/qa/lib/qa1-loader-pref.jar,
com.sun.jini.test.spec.loader.util.classes.Class_-527103187, defaultLoader)
[java] throws: java.net.MalformedURLException: URI is not absolute
[java] expected: ClassNotFoundException
This URI is relative, although it does appear that spaces have been escaped:
com.sun.jini.qa.harness.TestException:
RMIClassLoader.loadClass(file://<https://builds.apache.org/job/River-QA-matrix/./jdk=JDK%201.7%20(latest),label=Ubuntu,test=com-sun-jini-test-spec-loader-pref-preferredClassProvider-LoadClassesClassNotFoundFile.td/ws/build/qa/lib/qa1-loader-pref.jar,>
com.sun.jini.test.spec.loader.util.classes.Class_360325459, defaultLoader)
[java] throws: java.net.MalformedURLException: URI is not absolute
[java] expected: ClassNotFoundException
URI's must be in their normalised form for correct comparison, to minimise false negatives.
URL's resolve to an IP address, which is used in comparison, however that
presents other issues.
We need to look at how these codebase annotations are being generated, escape
any illegal characters and normalise them.
Peter.