Re: [build] anybody seeing MathTest failure?

2006-09-12 Thread Paulex Yang

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?

2006-09-12 Thread Nathan Beyer
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?

2006-09-12 Thread Nathan Beyer

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

2006-09-12 Thread Paulex Yang

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?

2006-09-12 Thread Nathan Beyer
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?

2006-09-12 Thread Paulex Yang

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?

2006-09-12 Thread Mikhail Loenko

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?

2006-09-12 Thread Paulex Yang
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?

2006-09-12 Thread Spark Shen

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?

2006-09-12 Thread 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)


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]