Details
-
Bug
-
Status: Resolved
-
Normal
-
Resolution: Fixed
-
None
-
Correctness
-
Low
-
Low Hanging Fruit
-
User Report
-
All
-
None
-
Description
Tests are currently run with a classpath containing all downloaded jars. The tests would be more reflective of the behavior of a runtime environment if the test classpath only contained jars that are bundled with the binary release, together with explicit test dependencies. Ideally we'd use the build/lib/ jars for the classpath since that's what gets packaged, but since these aren't available at test compile time and should be identical to lib/ anyway, I've used the later.
Doing so exposed a couple of references in src/java to "org.apache.commons.lang", which is not available at runtime (should be "org.apache.commons.lang*3*").
Attached patch modifies the test classpath, fixes various imports in both test/ and src/ classes, and makes some simple substitutions in the tests such as using AbstractMap.SimpleEntry in place of org.apache.commons.collections.keyvalue.AbstractMapEntry.