jaxp-test for conformance bug 6756677 still fail after jaxp1.4.4 goes into jdk7 and latest jaxp-test gets integrated.
The two failed test cases are:
JAXP:PRODUCT Tests -> JAXP14_Tests -> FactoryTest. test29() and test31()
log:
http://sqeweb.sfbay.sun.com/nfs/results/xml/promotion/7/b112/gtee/opensolaris-x64-32_c2/7-b112_promotion_xml_opensolaris-x64-32_c2/ResultDir/jaxp/logs/product/ProductTestResult.html#N76697
I tried to dig into the jdk code and test code. Then I found
javax.xml.stream.XMLInputFactory.newInstance(String factoryId,
ClassLoader classLoader)
just tries to load the factory from system property, <jre>/lib/stax.properties, and <jdk>/lib/jaxp.properties in turn. If loading fails, it will not fall back to "a default implementation class" as implemented in BEA's jdk, which is mentioned in the conformance bug 6756677.
Is this behavior what we want? If that's the case, I think we should add one line of code, such as:
System.setProperty("javax.xml.stream.XMLInputFactory", "com.sun.xml.internal.stream.XMLInputFactoryImpl");
to make the test cases pass.
The two failed test cases are:
JAXP:PRODUCT Tests -> JAXP14_Tests -> FactoryTest. test29() and test31()
log:
http://sqeweb.sfbay.sun.com/nfs/results/xml/promotion/7/b112/gtee/opensolaris-x64-32_c2/7-b112_promotion_xml_opensolaris-x64-32_c2/ResultDir/jaxp/logs/product/ProductTestResult.html#N76697
I tried to dig into the jdk code and test code. Then I found
javax.xml.stream.XMLInputFactory.newInstance(String factoryId,
ClassLoader classLoader)
just tries to load the factory from system property, <jre>/lib/stax.properties, and <jdk>/lib/jaxp.properties in turn. If loading fails, it will not fall back to "a default implementation class" as implemented in BEA's jdk, which is mentioned in the conformance bug 6756677.
Is this behavior what we want? If that's the case, I think we should add one line of code, such as:
System.setProperty("javax.xml.stream.XMLInputFactory", "com.sun.xml.internal.stream.XMLInputFactoryImpl");
to make the test cases pass.