Please review two corrections for java.time

Peter Levart peter.levart at gmail.com
Mon Sep 9 15:14:50 UTC 2013


On 09/09/2013 03:12 PM, roger riggs wrote:
> Hi Peter,
>
> The possible wrap-around caused by crossing midnight is handled by 
> Math.max
> so a retry is not needed.
>
> Math.abs(test.toNanoOfDay() - expected.toNanoOfDay())

Hi Roger,

In case there is a wrap-around, the 'diff' is much more than 500,000,000 
ns (about 24*60*60*1,000,000,000 ns - delay), which fails the test.

But what do you think about testing before <= test <= after ? It should 
not be timing dependent, like it is now. Does it test the same thing?

Regards, Peter

>
> Thanks, Roger
>
>
>
>
> On 9/9/2013 2:14 AM, Peter Levart wrote:
>> On 09/06/2013 07:58 PM, roger riggs wrote:
>>> Please review for two corrections:
>>>
>>> -  The java/time/tck/java/time/TCKLocalTime test failed on a slow 
>>> machine;
>>>     the test should be more lenient.   The test is not appropriate 
>>> for a conformance test
>>>     and is moved to java/time/test/java/time/TestLocalTime.
>>>
>>> - The javadoc for the JapaneseEra.MEIJI era should indicate the 
>>> start date is 1868-01-01
>>>   to be consistent with java.util.Calendar.  Note that java.time 
>>> does not permit dates before Meiji 6
>>>   to be created since the calendar is not clearly defined until then.
>>>
>>> Webrev: 
>>> http://cr.openjdk.java.net/~rriggs/webrev-localtime-now-8023639/
>>>
>>> Thanks, Roger
>>>
>>>
>> Hi Roger,
>>
>> Although very in-probable, the test can fail when 'expected' is 
>> sampled before and 'test' is sampled after midnight. I'm guessing the 
>> test is trying to prove that LocalTime.now() is equivalent to 
>> LocalTime.now(Clock.systemDefaultZone()), right?
>>
>> In that case, what about the following:
>>
>>     public void now() {
>>         LocalTime before, test, after;
>>         do {
>>             before = LocalTime.now(Clock.systemDefaultZone());
>>             test = LocalTime.now();
>>             after = LocalTime.now(Clock.systemDefaultZone());
>>           // retry in case the samples were obtained around midnight
>>         } while (before.compareTo(after) > 0);
>>
>>         assertTrue(before.compareTo(test) <= 0 && 
>> test.compareTo(after) <= 0);
>>     }
>>
>>
>> Regards, Peter
>>
>




More information about the core-libs-dev mailing list