commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Luc Maisonobe <>
Subject Re: [MATH] 2.2 test failures when run with 2.1 test cases
Date Mon, 21 Feb 2011 19:28:55 GMT
Le 21/02/2011 18:03, sebb a écrit :
> I've updated the test-jar.xml Ant script [1] so it can now be used to
> run the test classes against a jar without needing to also compile
> against the jar:
> $ ant -f test-jar.xml [-lib junit-m.n..jar] test-only
> Running this against a checkout of [3] gives 40 classes with test
> errors or test failures.
> I'm sure some of these are due to fixes in the code which need
> corresponding test case changes.
> But are all the errors/failures expected? Further investigation is needed.
> Compiling the 2.1 test cases against 2.2 results in 19 compilation errors.
> These seem to be OK,  as they relate to EventState and
> oacm.ode.DerivativeException

No, this is a real problem. When reverting some changes, I forgot the
StepHandlerInterface which *is* a user level interface.
As of 2.1, it throws the checked exception DerivativeException. When we
first decided to change, the compatible way was to modify the base class
of DerivativeException, so that users who already use this exception
will have no problem (we tested for both binary and source
compatibility, everything was OK binary-wise, and there was a
deprecation warning source-wise).
When we reverted this change, we forgot to change the interface back to
DerivativeException and let only the unchecked MathUserException in the
declaration of the interface.

This means that users who implemented the interface *must* change their
implementation, so it is an incompatible change.

Strangely enough, CLIRR did not detect it (see
<>, the
StepHandler interface appears nowhere)!

I am going to cancel the vote for RC2 and change the interface back.

> To re-run the tests:
> Checkout the 2.1 tag [3]
> Compile the code, e.g.
> mvn clean compiler:compile compiler:testCompile
> Copy the updated test-jar.xml file from [1] into top-level dir
> Copy commons-math-2.2.jar into top level dir.
> $ ant -f test-jar.xml [-lib junit-m.n..jar] test-only ! run tests
> against math 2.2

I was not able to run this. It seems the commons-math-2.2.jar is never
included in the classpath. I even tried to force it with a <pathelement>
part in the <classpath> of the test-only target and it failed.

I used ant 1.8.0 on a Linux box.


> $ ant -f test-jar.xml [-lib junit-m.n..jar] ! compile and run tests
> against math 2.2
> The output has been uploaded to [2]
> [1]
> [2]
> [3]
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
> For additional commands, e-mail:

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message