commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sebb <seb...@gmail.com>
Subject Re: [MATH] 2.2 test failures when run with 2.1 test cases
Date Tue, 22 Feb 2011 01:00:53 GMT
On 21 February 2011 20:26, Luc Maisonobe <Luc.Maisonobe@free.fr> wrote:
> 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) ?

There was a problem with the test-jar.xml - it was including jars from
lower directories too.
As it happened, I had a copy of junit under lib, so it worked for me.
There was a further problem in that I'd set includeantruntime="false"
for the compile target, so JUnit could not be picked up from the Ant
classpath.
Sorry about that.

If you try the current version, hopefully it will work now.


> 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
>
>

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


Mime
View raw message