Hi. DateTime::Format::Duration fails 4 tests during its "make test" on my system. The output of the failing tests is included below.
My "perl -V" is at the bottom, but the short version is Perl 5.8.3 on Linux. Regards, Philip Failed Test Stat Wstat Total Fail Failed List of Failed ------------------------------------------------------------------------ --------------------------------------- t/2_fmt_normalise.t 4 1024 52 4 7.69% 41 43 45 47 Failed 1/9 test scripts, 88.89% okay. 4/211 subtests failed, 98.10% okay. make: *** [test_dynamic] Error 255 1..52 # DST ends, Day is 25 hours long Pre Normalise: $VAR1 = { 'hours' => '48', 'minutes' => '00', 'days' => 0, 'seconds' => '00', 'years' => 0, 'months' => '00', 'nanoseconds' => 0 }; Adding 0 years: 2004-03-27T00:00:00 Adding 00 months: 2004-03-27T00:00:00 Adding 0 days: 2004-03-27T00:00:00 Adding 48 hours: 2004-03-28T23:00:00 Adding 00 minutes: 2004-03-28T23:00:00 Adding 00 seconds: 2004-03-28T23:00:00 Adding 0 nanoseconds: 2004-03-28T23:00:00 Post DateTime::Duration: $VAR1 = { 'seconds' => 0, 'minutes' => 1440, 'nanoseconds' => 0, 'days' => 1, 'months' => 0 }; Post Extraction: $VAR1 = { 'seconds' => 0, 'hours' => 24, 'years' => 0, 'minutes' => 0, 'nanoseconds' => 0, 'days' => 1, 'months' => 0 }; Post Normalisation: $VAR1 = { 'seconds' => 0, 'hours' => 24, 'years' => 0, 'minutes' => 0, 'nanoseconds' => 0, 'days' => 1, 'months' => 0 }; not ok 1 - Test 41: 0000-00-00 48:00:00 should become 0000-00-01 23:00:00 # Failed test 'Test 41: 0000-00-00 48:00:00 should become 0000-00-01 23:00:00' # in t/2_fmt_normalise.t at line 115. # got: '0000-00-01 24:00:00' # expected: '0000-00-01 23:00:00' # If you send an error report, please include the output of: # /usr/bin/perl t/2_fmt_normalise.t 41! # Looks like you planned 52 tests but only ran 1. # Looks like you failed 1 test of 1 run. 1..52 Pre Normalise: $VAR1 = { 'hours' => '00', 'minutes' => '00', 'days' => 2, 'seconds' => '00', 'years' => 0, 'months' => '00', 'nanoseconds' => 0 }; Adding 0 years: 2004-03-27T00:00:00 Adding 00 months: 2004-03-27T00:00:00 Adding 2 days: 2004-03-29T00:00:00 Adding 00 hours: 2004-03-29T00:00:00 Adding 00 minutes: 2004-03-29T00:00:00 Adding 00 seconds: 2004-03-29T00:00:00 Adding 0 nanoseconds: 2004-03-29T00:00:00 Post DateTime::Duration: $VAR1 = { 'seconds' => 0, 'minutes' => 60, 'nanoseconds' => 0, 'days' => 2, 'months' => 0 }; Post Extraction: $VAR1 = { 'seconds' => 0, 'hours' => 1, 'years' => 0, 'minutes' => 0, 'nanoseconds' => 0, 'days' => 2, 'months' => 0 }; Post Normalisation: $VAR1 = { 'seconds' => 0, 'hours' => 1, 'years' => 0, 'minutes' => 0, 'nanoseconds' => 0, 'days' => 2, 'months' => 0 }; not ok 1 - Test 43: 0000-00-02 00:00:00 should stay 0000-00-02 00:00:00 # Failed test 'Test 43: 0000-00-02 00:00:00 should stay 0000-00-02 00:00:00' # in t/2_fmt_normalise.t at line 115. # got: '0000-00-02 01:00:00' # expected: '0000-00-02 00:00:00' # If you send an error report, please include the output of: # /usr/bin/perl t/2_fmt_normalise.t 43! # Looks like you planned 52 tests but only ran 1. # Looks like you failed 1 test of 1 run. 1..52 # DST starts, Day is 23 hours long Pre Normalise: $VAR1 = { 'hours' => '48', 'minutes' => '00', 'days' => 0, 'seconds' => '00', 'years' => 0, 'months' => '00', 'nanoseconds' => 0 }; Adding 0 years: 2004-10-30T00:00:00 Adding 00 months: 2004-10-30T00:00:00 Adding 0 days: 2004-10-30T00:00:00 Adding 48 hours: 2004-11-01T01:00:00 Adding 00 minutes: 2004-11-01T01:00:00 Adding 00 seconds: 2004-11-01T01:00:00 Adding 0 nanoseconds: 2004-11-01T01:00:00 Post DateTime::Duration: $VAR1 = { 'seconds' => 0, 'minutes' => 0, 'nanoseconds' => 0, 'days' => 2, 'months' => 0 }; Post Extraction: $VAR1 = { 'seconds' => 0, 'hours' => 0, 'years' => 0, 'minutes' => 0, 'nanoseconds' => 0, 'days' => 2, 'months' => 0 }; Post Normalisation: $VAR1 = { 'seconds' => 0, 'hours' => 0, 'years' => 0, 'minutes' => 0, 'nanoseconds' => 0, 'days' => 2, 'months' => 0 }; not ok 1 - Test 45: 0000-00-00 48:00:00 should become 0000-00-02 01:00:00 # Failed test 'Test 45: 0000-00-00 48:00:00 should become 0000-00-02 01:00:00' # in t/2_fmt_normalise.t at line 115. # got: '0000-00-02 00:00:00' # expected: '0000-00-02 01:00:00' # If you send an error report, please include the output of: # /usr/bin/perl t/2_fmt_normalise.t 45! # Looks like you planned 52 tests but only ran 1. # Looks like you failed 1 test of 1 run. 1..52 Pre Normalise: $VAR1 = { 'hours' => '00', 'minutes' => '00', 'days' => 2, 'seconds' => '00', 'years' => 0, 'months' => '00', 'nanoseconds' => 0 }; Adding 0 years: 2004-10-30T00:00:00 Adding 00 months: 2004-10-30T00:00:00 Adding 2 days: 2004-11-01T00:00:00 Adding 00 hours: 2004-11-01T00:00:00 Adding 00 minutes: 2004-11-01T00:00:00 Adding 00 seconds: 2004-11-01T00:00:00 Adding 0 nanoseconds: 2004-11-01T00:00:00 Post DateTime::Duration: $VAR1 = { 'seconds' => 0, 'minutes' => 1380, 'nanoseconds' => 0, 'days' => 1, 'months' => 0 }; Post Extraction: $VAR1 = { 'seconds' => 0, 'hours' => 23, 'years' => 0, 'minutes' => 0, 'nanoseconds' => 0, 'days' => 1, 'months' => 0 }; Post Normalisation: $VAR1 = { 'seconds' => 0, 'hours' => 23, 'years' => 0, 'minutes' => 0, 'nanoseconds' => 0, 'days' => 1, 'months' => 0 }; not ok 1 - Test 47: 0000-00-02 00:00:00 should stay 0000-00-02 00:00:00 # Failed test 'Test 47: 0000-00-02 00:00:00 should stay 0000-00-02 00:00:00' # in t/2_fmt_normalise.t at line 115. # got: '0000-00-01 23:00:00' # expected: '0000-00-02 00:00:00' # If you send an error report, please include the output of: # /usr/bin/perl t/2_fmt_normalise.t 47! # Looks like you planned 52 tests but only ran 1. # Looks like you failed 1 test of 1 run. Summary of my perl5 (revision 5.0 version 8 subversion 3) configuration: Platform: osname=linux, osvers=2.6.5, archname=i586-linux-thread-multi uname='linux oldboy 2.6.5 #1 smp fri nov 18 15:22:13 utc 2005 i686 i686 i386 gnulinux ' config_args='-ds -e -Dprefix=/usr -Dvendorprefix=/usr -Dinstallusrbinperl -Dusethreads -Di_db -Di_dbm -Di_ndbm -Di_gdbm -Duseshrplib=true -Doptimize=-O2 -march=i586 -mcpu=i686 -fmessage-length=0 -Wall -Wall -pipe' hint=recommended, useposix=true, d_sigaction=define usethreads=define use5005threads=undef useithreads=define usemultiplicity=define useperlio=define d_sfio=undef uselargefiles=define usesocks=undef use64bitint=undef use64bitall=undef uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -fno-strict-aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64', optimize='-O2 -march=i586 -mcpu=i686 -fmessage-length=0 -Wall -Wall -pipe', cppflags='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -fno-strict-aliasing' ccversion='', gccversion='3.3.3 (SuSE Linux)', gccosandvers='' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12 ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8 alignbytes=4, prototype=define Linker and Libraries: ld='cc', ldflags ='' libpth=/lib /usr/lib /usr/local/lib libs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc perllibs=-lnsl -ldl -lm -lcrypt -lutil -lpthread -lc libc=, so=so, useshrplib=true, libperl=libperl.so gnulibc_version='2.3.3' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-rdynamic -Wl,-rpath,/usr/lib/perl5/5.8.3/i586-linux-thread-multi/CORE' cccdlflags='-fPIC', lddlflags='-shared' Characteristics of this binary (from libperl): Compile-time options: MULTIPLICITY USE_ITHREADS USE_LARGE_FILES PERL_IMPLICIT_CONTEXT Locally applied patches: SPRINTF0 - fixes for sprintf formatting issues - CVE-2005-3962 Built under linux Compiled at Dec 17 2005 03:24:12 @INC: /usr/lib/perl5/5.8.3/i586-linux-thread-multi /usr/lib/perl5/5.8.3 /usr/lib/perl5/site_perl/5.8.3/i586-linux-thread-multi /usr/lib/perl5/site_perl/5.8.3 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.3/i586-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.3 /usr/lib/perl5/vendor_perl .