I've started going through the Apache Commons projects running tests and sample code.

beanutils

One problem (that appears as two errors out of 556) that also fails on Sun 5.0 RI but passes on IBM 1.4.2.

testMemoryLeak2(org.apache.commons.beanutils.locale.LocaleBeanificationTestCase)java.lang.OutOfMemoryError
  at org.apache.commons.beanutils.locale.LocaleBeanificationTestCase.testMemoryLeak2(LocaleBeanificationTestCase.java:182)
  at java.lang.reflect.AccessibleObject.invokeV(AccessibleObject.java:205)

betwixt

2 failures out of 644. I suspect they are Hashtable.Entry introspection assumptions and thus possibly invalid tests? The test xml looks like:

  <Hashtable>
    <empty>false</empty>
    <entry>
      <key>two</key>
      <keyHash>115276</keyHash>
      <value>deux</value>
    </entry>
    <entry>
      <key>one</key>
      <keyHash>110182</keyHash>
      <value>un</value>
    </entry>
    <entry>
      <key>three</key>
      <keyHash>110339486</keyHash>
      <value>trois</value>
    </entry>
  </Hashtable>

where as the expected xml does not include the keyHash items.

1) testHashMapWriteEmpty(org.apache.commons.betwixt.TestMaps)junit.framework.AssertionFailedError: (Unequal child nodes@entry) expected:<2> but was:<3>
        at org.apache.commons.betwixt.xmlunit.XmlTestCase.testIsomorphic(XmlTestCase.java:300)
        at org.apache.commons.betwixt.xmlunit.XmlTestCase.testIsomorphic(XmlTestCase.java:312)
        at org.apache.commons.betwixt.xmlunit.XmlTestCase.testIsomorphic(XmlTestCase.java:312)
        at org.apache.commons.betwixt.xmlunit.XmlTestCase.xmlAssertIsomorphic(XmlTestCase.java:175)
        at org.apache.commons.betwixt.xmlunit.XmlTestCase.xmlAssertIsomorphic(XmlTestCase.java:151)
        at org.apache.commons.betwixt.xmlunit.XmlTestCase.xmlAssertIsomorphic(XmlTestCase.java:141)
        at org.apache.commons.betwixt.TestMaps.testHashMapWriteEmpty(TestMaps.java:68)
        at java.lang.reflect.AccessibleObject.invokeV(AccessibleObject.java:205)
2) testHashMapWriteNotEmpty(org.apache.commons.betwixt.TestMaps)junit.framework.AssertionFailedError: (Unequal child nodes@entry) expected:<2> but was:<3>
        at org.apache.commons.betwixt.xmlunit.XmlTestCase.testIsomorphic(XmlTestCase.java:300)
        at org.apache.commons.betwixt.xmlunit.XmlTestCase.testIsomorphic(XmlTestCase.java:312)
        at org.apache.commons.betwixt.xmlunit.XmlTestCase.testIsomorphic(XmlTestCase.java:312)
        at org.apache.commons.betwixt.xmlunit.XmlTestCase.xmlAssertIsomorphic(XmlTestCase.java:175)
        at org.apache.commons.betwixt.xmlunit.XmlTestCase.xmlAssertIsomorphic(XmlTestCase.java:151)
        at org.apache.commons.betwixt.xmlunit.XmlTestCase.xmlAssertIsomorphic(XmlTestCase.java:141)
        at org.apache.commons.betwixt.TestMaps.testHashMapWriteNotEmpty(TestMaps.java:105)
        at java.lang.reflect.AccessibleObject.invokeV(AccessibleObject.java:205)

chain

2 errors both the same issue. Needs further investigation.

  ClassCastException: org.apache.commons.chain.impl.ContextBase$MapEntryImpl incompatible with java.util.HashMap$Entry

cli

Raised HARMONY-552 but there are still 8 failures and 1 error. Some look like ordering issues and might be invalid tests. Needs further investigation.

codec

2 errors both the same issue. Needs further investigation.

testDefaultEncoding(org.apache.commons.codec.net.URLCodecTest)org.apache.commons.codec.EncoderException: UnicodeBig
  at org.apache.commons.codec.net.URLCodec.encode(URLCodec.java:247)
  at org.apache.commons.codec.net.URLCodecTest.testDefaultEncoding(URLCodecTest.java:274)
  at java.lang.reflect.AccessibleObject.invokeV(AccessibleObject.java:205)

collections

Wow! There are an impressive number of tests. I've raised some JIRAs - HARMONY-389, HARMONY-390, HARMONY-403 - but there are still more failures to investigate. Quite a few failures seem to relate to hashcode issues mentioned in HARMONY-403.

configuration

Requires HARMONY-528. Even with this there are several dozen failures and errors to investigate.

daemon

Compiles. There don't seem to be any tests. Need to try the sample code.

dbutils

All tests pass.

digester

All tests pass.

discovery

All tests pass.

fileupload

All tests pass.

httpclient

Tests require a jks keystore. It should be possible to convert them and fix the tests to use the default keystore type rather than jks specifically.

io

One error. Raised HARMONY-517 with fix.

jelly

All tests pass.

jexl

All tests pass.

jxpath

3 failures to investigate.

1)
Evaluating <format-number(123456789, 'D.0', 'test')> expected:<123456789.0> but was:<D123456789.0>
junit.framework.AssertionFailedError: Evaluating <format-number(123456789, 'D.0', 'test')> expected:<123456789.0> but was:<D123456789.0>
    at org.apache.commons.jxpath.JXPathTestCase.assertXPathValue(JXPathTestCase.java:54)
    yat org.apache.commons.jxpath.ri.compiler.CoreFunctionTest.testFormatNumberFunction(CoreFunctionTest.java:176)

2)
Evaluating pointer <//product:name> expected:<...goods...> but was:<...product...>
junit.framework.ComparisonFailure: Evaluating pointer <//product:name> expected:<...goods...> but was:<...product...>
    at org.apache.commons.jxpath.JXPathTestCase.assertXPathPointer(JXPathTestCase.java:124)
    at org.apache.commons.jxpath.JXPathTestCase.assertXPathValueAndPointer(JXPathTestCase.java:140)
  at org.apache.commons.jxpath.ri.model.XMLModelTestCase.testNamespaceMapping(XMLModelTestCase.java:806)

3)
Evaluating pointer <//product:name> expected:<...goods...> but was:<...product...>
junit.framework.ComparisonFailure: Evaluating pointer <//product:name> expected:<...goods...> but was:<...product...>
    at org.apache.commons.jxpath.JXPathTestCase.assertXPathPointer(JXPathTestCase.java:124)
    at org.apache.commons.jxpath.JXPathTestCase.assertXPathValueAndPointer(JXPathTestCase.java:140)
    at org.apache.commons.jxpath.ri.model.XMLModelTestCase.testNamespaceMapping(XMLModelTestCase.java:806)

lang

Raised HARMONY-487, HARMONY-489, HARMONY-493, and HARMONY-498. The remaining failures might be reflection differences which could be invalid tests?

logging

All tests pass - the log4j ones at least.

math

5 failures still to investigate.

modeler

Requires javax.management. All tests pass with mx4j, see HARMONY-560.

net

Latest svn needs String.contains(CharSequence). Version 1.4.1 needed HARMONY-502 to pass all tests.

pool

All tests pass. They seem to be a little unstable. Some tests fail/hang on sun50.

primitives

All tests pass.

validator

Raised HARMONY-539, but there are still a couple more issues to investigate.

todo

attributes, dbcp, el, email, launcher, transaction, and vfs still need to be tested.

  • No labels