Hi Dave,

[snipped]
> 
> 
> The test was wrong, I believe.  Either that or the locale had 
> a bug that is now fixed. 
 
yes, It now passes on 5.8.0

[more snippage]

> I can't stress this enough.  When tests fail, please rerun 
> the tests with 'make test TEST_VERBOSE=1 TEST_FILES=t/...'
> This gives me extra info that makes it easier to track down
> the failures.

OK, I'm sorry about that. I will include this in the future

G:\modules\DateTime.pm>nmake test TEST_VERBOSE=1 TEST_FILES=t/20infinite.t

Microsoft (R) Program Maintenance Utility   Version 6.00.8168.0
Copyright (C) Microsoft Corp 1988-1998. All rights reserved.

        F:\perl\bin\perl.exe "-MExtUtils::Command::MM" "-e" "test_harness(1,
'blib\lib', 'blib\arch
)" t/20infinite.t
t/20infinite....1..37
ok 1 - positive infinity should be infinite
ok 2 - negative infinity should be infinite
ok 3 - positive infinity should not be finite
ok 4 - negative infinity should not be finite
ok 5 - negative infinity is really negative
ok 6 - positive infinity is really positive
ok 7 - positive infinity is bigger than negative infinity
ok 8 - infinity - normal = infinity
ok 9 - normal + infinite duration = infinity
ok 10 - normal - infinity = neg infinity
not ok 11 - normal + neg infinite duration = neg infinity
#     Failed test (t/20infinite.t at line 53)
#          got: 'DateTime::Infinite::Future=HASH(0x1e2f4a0)'
#     expected: 'DateTime::Infinite::Past=HASH(0x1dfee58)'
not ok 12 - infinity - infinity = nan (days)
#     Failed test (t/20infinite.t at line 61)
#          got: '-2147483648'
#     expected: '2147483648'
not ok 13 - infinity - infinity = nan (seconds)
#     Failed test (t/20infinite.t at line 61)
#          got: '-2147483646'
#     expected: '2147483648'
ok 14 - infinity + normal duration = infinity
ok 15 - infinity - normal duration = infinity
ok 16 - infinity (datetime) == infinity (number)
ok 17 - neg infinity (datetime) == neg infinity (number)
ok 18 - pos year is 1.\#INF
ok 19 - neg year is 1.\#INF
ok 20 - pos month is 1.\#INF
ok 21 - neg month is 1.\#INF
ok 22 - pos day is 1.\#INF
ok 23 - neg day is 1.\#INF
ok 24 - pos hour is 1.\#INF
ok 25 - neg hour is 1.\#INF
ok 26 - pos minute is 1.\#INF
ok 27 - neg minute is 1.\#INF
ok 28 - pos second is 1.\#INF
ok 29 - neg second is 1.\#INF
ok 30 - pos microsecond is 1.\#INF
ok 31 - neg microsecond is 1.\#INF
ok 32 - pos millisecond is 1.\#INF
ok 33 - neg millisecond is 1.\#INF
ok 34 - pos nanosecond is 1.\#INF
ok 35 - neg nanosecond is 1.\#INF
ok 36 - positive infinite is greater than now
ok 37 - negative infinite is less than now
# Looks like you failed 3 tests of 37.
dubious
        Test returned status 3 (wstat 768, 0x300)
DIED. FAILED tests 11-13
        Failed 3/37 tests, 91.89% okay
Failed Test    Stat Wstat Total Fail  Failed  List of Failed
----------------------------------------------------------------------------
---
t/20infinite.t    3   768    37    3   8.11%  11-13
Failed 1/1 test scripts, 0.00% okay. 3/37 subtests failed, 91.89% okay.
NMAKE : fatal error U1077: 'F:\perl\bin\perl.exe' : return code '0x2'
Stop.

G:\modules\DateTime.pm>

> 
> I have no idea why this would suddenly start failing when it 
> seemed to be fine last go-round.  

yes, I checked this test using 5.6.1 and these tests pass on W2K

> I hate infinite numbers.  I hate Windows.
> Whoever suggested DT::Infinite, damn you!
> 

[more snippage]

> 
> Just 5.8.0?  Oh, goody.

nope :( I tried this with perl 5.8.1 RC2 and receive the
same types of errors.

> 
> Absent someone with understanding IEEE math and how it works 
> on Win32, I consider this unlikely to get fixed.  
> I sure as heck don't know what's going on.  

neither do I. Hopefully, someone on the DateTime
list can step up and take a look at it.

> I may simply add something to the DT::Infinite 
> docs saying that it's known to be broken on Win32.
> 

I hope this helps.

Ron Hill

Reply via email to