commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Luc Maisonobe <Luc.Maison...@free.fr>
Subject Re: [MATH] 2.2 test failures when run with 2.1 test cases
Date Mon, 21 Feb 2011 20:26:32 GMT
Le 21/02/2011 21:06, sebb a écrit :
> On 21 February 2011 19:28, Luc Maisonobe <Luc.Maisonobe@free.fr> wrote:
>> 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
>> <http://people.apache.org/~luc/math-2.2-RC2/site/clirr-report.html>, 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.
> 
> Strange - are you using the latest test-jar.xml from branches/2_X?

Yes, I checked out the 2.1 tag in a new directory and the 2.X branch in
a new directory next to it. I created the jar with "mvn package", then
copied both the jar from target subdirectory and the test-jar.xml in the
2.X branch to the top level directory of the 2.1 tag.

> And is the math 2.2 jar in the same dir?

Yes, next to test-jar.xml , pom.xml and the like. It is named
commons-math-2.2.jar.

I tried to run both the init and test-only target in the same run to see
the classpath, but it display the (huge) java.class.path, not the
classpath with the id build.classpath. Is there a way to print this one
too (I don't know well ant id/refid magic) ?

Luc

> 
>> I used ant 1.8.0 on a Linux box.
> 
> I'm using Ant 1.8.0 on a WinXP.
> 
>> Luc
>>
>>>
>>> $ 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] https://svn.apache.org/repos/asf/commons/proper/math/branches/MATH_2_X/test-jar.xml
>>> [2] http://people.apache.org/~sebb/MATH2.2RC2
>>> [3] http://svn.apache.org/repos/asf/commons/proper/math/tags/MATH_2_1
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
>>> For additional commands, e-mail: dev-help@commons.apache.org
>>>
>>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
>> For additional commands, e-mail: dev-help@commons.apache.org
>>
>>
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> For additional commands, e-mail: dev-help@commons.apache.org
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Mime
View raw message