Re: [build] anybody seeing MathTest failure?
Nathan Beyer wrote: -Original Message- From: Paulex Yang [mailto:[EMAIL PROTECTED] Sent: Tuesday, September 12, 2006 10:11 PM To: harmony-dev@incubator.apache.org Subject: Re: [build] anybody seeing MathTest failure? Nathan Beyer wrote: For asserting NaN we should do something like this: assertTrue(Double.isNaN((code to return NaN)); I agree, it's much clear and concise. But I think the assertEquals() should be more defensive, for example, we may need to write test like this: assertEquals(some code may return NaN, some_other_code may return NaN, delta); I'm not sure that I would agree with that; NaN is a special value that's defined by its inequality with itself (d != d). In any case, the JUnit methods have worked like this for years, so their behavior couldn't change now. Of course not:). -Nathan -Original Message- From: Paulex Yang [mailto:[EMAIL PROTECTED] Sent: Tuesday, September 12, 2006 4:50 AM To: harmony-dev@incubator.apache.org Subject: Re: [build] anybody seeing MathTest failure? Mikhail Loenko wrote: it works! thanks, Paulex Welcome, thanks a lot for Spark's tips:). However, I consider it as a JUnit's bug, because it's assertEquals(String, double, double, double) method has special handling code for INFINITE but not for NaN[1], but seems it is intended behavior as the comment shows, hmm... [1] snippet from junit.framework.Assert static public void assertEquals(String message, double expected, double actual, double delta) { // handle infinity specially since subtracting to infinite values gives NaN and the // the following test fails if (Double.isInfinite(expected)) { if (!(expected == actual)) failNotEquals(message, new Double(expected), new Double(actual)); } else if (!(Math.abs(expected-actual) <= delta)) // Because comparison with NaN always returns false(<== Paulex: before this line, seems should check the NaN at first) failNotEquals(message, new Double(expected), new Double(actual)); } 2006/9/12, Paulex Yang <[EMAIL PROTECTED]>: Seems caused by r442438, I have recovered part of the update to make the test pass at revision r442527, please verify. -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [build] anybody seeing MathTest failure?
BTW - The original changes that I made were done because I did a mass fix of all the inappropriate double and float test assertions. All of them were using boxing, which meant that assertion was actually happening on Double.equals(Object). These were all rolled backed, but I'm going to check them back in and fix the few NaN tests that I missed the first time to be as below. -Nathan > -Original Message- > From: Nathan Beyer [mailto:[EMAIL PROTECTED] > Sent: Tuesday, September 12, 2006 9:59 PM > To: harmony-dev@incubator.apache.org > Subject: RE: [build] anybody seeing MathTest failure? > > For asserting NaN we should do something like this: > > assertTrue(Double.isNaN((code to return NaN)); > > -Nathan > > > -Original Message- > > From: Paulex Yang [mailto:[EMAIL PROTECTED] > > Sent: Tuesday, September 12, 2006 4:50 AM > > To: harmony-dev@incubator.apache.org > > Subject: Re: [build] anybody seeing MathTest failure? > > > > Mikhail Loenko wrote: > > > it works! thanks, Paulex > > Welcome, thanks a lot for Spark's tips:). > > > > However, I consider it as a JUnit's bug, because it's > > assertEquals(String, double, double, double) method has special handling > > code for INFINITE but not for NaN[1], but seems it is intended behavior > > as the comment shows, hmm... > > > > [1] snippet from junit.framework.Assert > > static public void assertEquals(String message, double expected, > > double actual, double delta) { > > // handle infinity specially since subtracting to infinite > > values gives NaN and the > > // the following test fails > > if (Double.isInfinite(expected)) { > > if (!(expected == actual)) > > failNotEquals(message, new Double(expected), new > > Double(actual)); > > } else if (!(Math.abs(expected-actual) <= delta)) // Because > > comparison with NaN always returns false(<== Paulex: before this > > line, seems should check the NaN at first) > > failNotEquals(message, new Double(expected), new > > Double(actual)); > > } > > > > > > 2006/9/12, Paulex Yang <[EMAIL PROTECTED]>: > > >> Seems caused by r442438, I have recovered part of the update to make > > the > > >> test pass at revision r442527, please verify. > > >> > > > > > > > > > > > > -- > > Paulex Yang > > China Software Development Lab > > IBM > > > > > > > > - > > Terms of use : http://incubator.apache.org/harmony/mailing.html > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > - > Terms of use : http://incubator.apache.org/harmony/mailing.html > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [build] anybody seeing MathTest failure?
> -Original Message- > From: Paulex Yang [mailto:[EMAIL PROTECTED] > Sent: Tuesday, September 12, 2006 10:11 PM > To: harmony-dev@incubator.apache.org > Subject: Re: [build] anybody seeing MathTest failure? > > Nathan Beyer wrote: > > For asserting NaN we should do something like this: > > > > assertTrue(Double.isNaN((code to return NaN)); > > > I agree, it's much clear and concise. But I think the assertEquals() > should be more defensive, for example, we may need to write test like > this: > > assertEquals(some code may return NaN, some_other_code may return NaN, > delta); I'm not sure that I would agree with that; NaN is a special value that's defined by its inequality with itself (d != d). In any case, the JUnit methods have worked like this for years, so their behavior couldn't change now. > > > -Nathan > > > > > >> -Original Message- > >> From: Paulex Yang [mailto:[EMAIL PROTECTED] > >> Sent: Tuesday, September 12, 2006 4:50 AM > >> To: harmony-dev@incubator.apache.org > >> Subject: Re: [build] anybody seeing MathTest failure? > >> > >> Mikhail Loenko wrote: > >> > >>> it works! thanks, Paulex > >>> > >> Welcome, thanks a lot for Spark's tips:). > >> > >> However, I consider it as a JUnit's bug, because it's > >> assertEquals(String, double, double, double) method has special > handling > >> code for INFINITE but not for NaN[1], but seems it is intended behavior > >> as the comment shows, hmm... > >> > >> [1] snippet from junit.framework.Assert > >> static public void assertEquals(String message, double expected, > >> double actual, double delta) { > >> // handle infinity specially since subtracting to infinite > >> values gives NaN and the > >> // the following test fails > >> if (Double.isInfinite(expected)) { > >> if (!(expected == actual)) > >> failNotEquals(message, new Double(expected), new > >> Double(actual)); > >> } else if (!(Math.abs(expected-actual) <= delta)) // Because > >> comparison with NaN always returns false(<== Paulex: before this > >> line, seems should check the NaN at first) > >> failNotEquals(message, new Double(expected), new > >> Double(actual)); > >> } > >> > >>> 2006/9/12, Paulex Yang <[EMAIL PROTECTED]>: > >>> > >>>> Seems caused by r442438, I have recovered part of the update to make > >>>> > >> the > >> > >>>> test pass at revision r442527, please verify. > >>>> > >>>> > >>> > >> -- > >> Paulex Yang > >> China Software Development Lab > >> IBM > >> > >> > >> > >> - > >> Terms of use : http://incubator.apache.org/harmony/mailing.html > >> To unsubscribe, e-mail: [EMAIL PROTECTED] > >> For additional commands, e-mail: [EMAIL PROTECTED] > >> > > > > > > - > > Terms of use : http://incubator.apache.org/harmony/mailing.html > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > > > > > -- > Paulex Yang > China Software Development Lab > IBM > > > > - > Terms of use : http://incubator.apache.org/harmony/mailing.html > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [build] anybody seeing MathTest failure?
Nathan Beyer wrote: For asserting NaN we should do something like this: assertTrue(Double.isNaN((code to return NaN)); I agree, it's much clear and concise. But I think the assertEquals() should be more defensive, for example, we may need to write test like this: assertEquals(some code may return NaN, some_other_code may return NaN, delta); -Nathan -Original Message- From: Paulex Yang [mailto:[EMAIL PROTECTED] Sent: Tuesday, September 12, 2006 4:50 AM To: harmony-dev@incubator.apache.org Subject: Re: [build] anybody seeing MathTest failure? Mikhail Loenko wrote: it works! thanks, Paulex Welcome, thanks a lot for Spark's tips:). However, I consider it as a JUnit's bug, because it's assertEquals(String, double, double, double) method has special handling code for INFINITE but not for NaN[1], but seems it is intended behavior as the comment shows, hmm... [1] snippet from junit.framework.Assert static public void assertEquals(String message, double expected, double actual, double delta) { // handle infinity specially since subtracting to infinite values gives NaN and the // the following test fails if (Double.isInfinite(expected)) { if (!(expected == actual)) failNotEquals(message, new Double(expected), new Double(actual)); } else if (!(Math.abs(expected-actual) <= delta)) // Because comparison with NaN always returns false(<== Paulex: before this line, seems should check the NaN at first) failNotEquals(message, new Double(expected), new Double(actual)); } 2006/9/12, Paulex Yang <[EMAIL PROTECTED]>: Seems caused by r442438, I have recovered part of the update to make the test pass at revision r442527, please verify. -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: [build] anybody seeing MathTest failure?
For asserting NaN we should do something like this: assertTrue(Double.isNaN((code to return NaN)); -Nathan > -Original Message- > From: Paulex Yang [mailto:[EMAIL PROTECTED] > Sent: Tuesday, September 12, 2006 4:50 AM > To: harmony-dev@incubator.apache.org > Subject: Re: [build] anybody seeing MathTest failure? > > Mikhail Loenko wrote: > > it works! thanks, Paulex > Welcome, thanks a lot for Spark's tips:). > > However, I consider it as a JUnit's bug, because it's > assertEquals(String, double, double, double) method has special handling > code for INFINITE but not for NaN[1], but seems it is intended behavior > as the comment shows, hmm... > > [1] snippet from junit.framework.Assert > static public void assertEquals(String message, double expected, > double actual, double delta) { > // handle infinity specially since subtracting to infinite > values gives NaN and the > // the following test fails > if (Double.isInfinite(expected)) { > if (!(expected == actual)) > failNotEquals(message, new Double(expected), new > Double(actual)); > } else if (!(Math.abs(expected-actual) <= delta)) // Because > comparison with NaN always returns false(<== Paulex: before this > line, seems should check the NaN at first) > failNotEquals(message, new Double(expected), new > Double(actual)); > } > > > > 2006/9/12, Paulex Yang <[EMAIL PROTECTED]>: > >> Seems caused by r442438, I have recovered part of the update to make > the > >> test pass at revision r442527, please verify. > >> > > > > > > > -- > Paulex Yang > China Software Development Lab > IBM > > > > - > Terms of use : http://incubator.apache.org/harmony/mailing.html > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [build] anybody seeing MathTest failure?
Mikhail Loenko wrote: it works! thanks, Paulex Welcome, thanks a lot for Spark's tips:). However, I consider it as a JUnit's bug, because it's assertEquals(String, double, double, double) method has special handling code for INFINITE but not for NaN[1], but seems it is intended behavior as the comment shows, hmm... [1] snippet from junit.framework.Assert static public void assertEquals(String message, double expected, double actual, double delta) { // handle infinity specially since subtracting to infinite values gives NaN and the // the following test fails if (Double.isInfinite(expected)) { if (!(expected == actual)) failNotEquals(message, new Double(expected), new Double(actual)); } else if (!(Math.abs(expected-actual) <= delta)) // Because comparison with NaN always returns false(<== Paulex: before this line, seems should check the NaN at first) failNotEquals(message, new Double(expected), new Double(actual)); } 2006/9/12, Paulex Yang <[EMAIL PROTECTED]>: Seems caused by r442438, I have recovered part of the update to make the test pass at revision r442527, please verify. -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [build] anybody seeing MathTest failure?
it works! thanks, Paulex 2006/9/12, Paulex Yang <[EMAIL PROTECTED]>: Seems caused by r442438, I have recovered part of the update to make the test pass at revision r442527, please verify. Mikhail Loenko wrote: > I see this on both linux and windows. anybody else seeing it? > > Class org.apache.harmony.luni.tests.java.lang.MathTest > > test_hypot_DD Failure Should return NaN expected: but was: > > junit.framework.AssertionFailedError: Should return NaN expected: > but was: at > org.apache.harmony.luni.tests.java.lang.MathTest.test_hypot_DD(MathTest.java:277) > > at java.lang.reflect.AccessibleObject.invokeV(AccessibleObject.java:25) > 0.000 > > test_log1p_D Failure Should return NaN expected: but was: > > junit.framework.AssertionFailedError: Should return NaN expected: > but was: at > org.apache.harmony.luni.tests.java.lang.MathTest.test_log1p_D(MathTest.java:323) > > at java.lang.reflect.AccessibleObject.invokeV(AccessibleObject.java:25) > > > Thanks, > Mikhail > > - > Terms of use : http://incubator.apache.org/harmony/mailing.html > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [build] anybody seeing MathTest failure?
Seems caused by r442438, I have recovered part of the update to make the test pass at revision r442527, please verify. Mikhail Loenko wrote: I see this on both linux and windows. anybody else seeing it? Class org.apache.harmony.luni.tests.java.lang.MathTest test_hypot_DD Failure Should return NaN expected: but was: junit.framework.AssertionFailedError: Should return NaN expected: but was: at org.apache.harmony.luni.tests.java.lang.MathTest.test_hypot_DD(MathTest.java:277) at java.lang.reflect.AccessibleObject.invokeV(AccessibleObject.java:25) 0.000 test_log1p_D Failure Should return NaN expected: but was: junit.framework.AssertionFailedError: Should return NaN expected: but was: at org.apache.harmony.luni.tests.java.lang.MathTest.test_log1p_D(MathTest.java:323) at java.lang.reflect.AccessibleObject.invokeV(AccessibleObject.java:25) Thanks, Mikhail - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Paulex Yang China Software Development Lab IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [build] anybody seeing MathTest failure?
Mikhail Loenko 写道: I see this on both linux and windows. anybody else seeing it? Class org.apache.harmony.luni.tests.java.lang.MathTest test_hypot_DD Failure Should return NaN expected: but was: junit.framework.AssertionFailedError: Should return NaN expected: but was: at org.apache.harmony.luni.tests.java.lang.MathTest.test_hypot_DD(MathTest.java:277) at java.lang.reflect.AccessibleObject.invokeV(AccessibleObject.java:25) 0.000 test_log1p_D Failure Should return NaN expected: but was: junit.framework.AssertionFailedError: Should return NaN expected: but was: at org.apache.harmony.luni.tests.java.lang.MathTest.test_log1p_D(MathTest.java:323) at java.lang.reflect.AccessibleObject.invokeV(AccessibleObject.java:25) Yes, I have noticed that. It is caused by commit 442438. I suggest first mention the commitment on the mailing list and then provide a patch. The original code is: assertEquals("Should return NaN", Double.NaN, Math.hypot(Double.NaN, 2342301.89843)); After the commit, it becomes: assertEquals("Should return NaN", Double.NaN, Math.hypot(Double.NaN, 2342301.89843), 0D); Thanks, Mikhail - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Spark Shen China Software Development Lab, IBM - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[build] anybody seeing MathTest failure?
I see this on both linux and windows. anybody else seeing it? Class org.apache.harmony.luni.tests.java.lang.MathTest test_hypot_DD Failure Should return NaN expected: but was: junit.framework.AssertionFailedError: Should return NaN expected: but was: at org.apache.harmony.luni.tests.java.lang.MathTest.test_hypot_DD(MathTest.java:277) at java.lang.reflect.AccessibleObject.invokeV(AccessibleObject.java:25) 0.000 test_log1p_D Failure Should return NaN expected: but was: junit.framework.AssertionFailedError: Should return NaN expected: but was: at org.apache.harmony.luni.tests.java.lang.MathTest.test_log1p_D(MathTest.java:323) at java.lang.reflect.AccessibleObject.invokeV(AccessibleObject.java:25) Thanks, Mikhail - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]