Open p5pRT opened 16 years ago
"make test" fails with the following report:
Failed 6 tests out of 1071\, 99.44% okay. ../ext/Cwd/t/cwd.t ../lib/File/Path.t ../lib/File/Spec/t/Spec.t ../lib/File/Spec/t/crossplatform.t ../lib/Time/Local.t op/readline.t
Here's the result of running harness on those tests:
../ext/Cwd/t/cwd....................ok 1/34readdir(linktest/..): Bad file descriptor at ../ext/Cwd/t/cwd.t line 184 ../ext/Cwd/t/cwd....................NOK 25/34 # Failed test at ../ext/Cwd/t/cwd.t line 184. # '' # doesn't match '(?i-xsm:\/tmp\/perl\-33218\/t\/_ptrslt_\/_path_\/_to_\/_a_\/_dir_$)' # Looks like you failed 1 test of 34. ../ext/Cwd/t/cwd....................dubious Test returned status 1 (wstat 256\, 0x100) DIED. FAILED test 25 Failed 1/34 tests\, 97.06% okay (less 1 skipped test: 32 okay\, 94.12%) ../lib/File/Path....................NOK 13/99 # Failed test 'make directory with trailing parent segment' # at ../lib/File/Path.t line 92. # got: '0' # expected: '1' ../lib/File/Path....................NOK 14/99 # Failed test 'made parent' # at ../lib/File/Path.t line 93. # got: undef # expected: 'test-47a74fed-38561027-c583/B' ../lib/File/Path....................ok 29/99# Looks like you failed 2 tests of 99. ../lib/File/Path....................dubious Test returned status 2 (wstat 512\, 0x200) DIED. FAILED tests 13-14 Failed 2/99 tests\, 97.98% okay (less 39 skipped tests: 58 okay\, 58.59%) ../lib/File/Spec/t/Spec.............ok 1/556# Test 38 got: "//d2/d3" (../lib/File/Spec/t/Spec.t at line 765 fail #38) ../lib/File/Spec/t/Spec.............NOK 38/556# Expected: "/d2/d3" (File::Spec::Unix->catdir('/'\,'d2/d3')) # ../lib/File/Spec/t/Spec.t line 765 is: ok $got\, $expected\, $function; # Test 59 got: "../t2/t3" (../lib/File/Spec/t/Spec.t at line 765 fail #59) ../lib/File/Spec/t/Spec.............NOK 59/556# Expected: "t2/t3" (File::Spec::Unix->abs2rel('t1/t2/t3'\, 't1')) ../lib/File/Spec/t/Spec.............NOK 60/556# Test 60 got: "../../t1/t2/t3" (../lib/File/Spec/t/Spec.t at line 765 fail #60) # Expected: "../t1/t2/t3" (File::Spec::Unix->abs2rel('t1/t2/t3'\, 't4')) ../lib/File/Spec/t/Spec.............FAILED tests 38\, 59-60 Failed 3/556 tests\, 99.46% okay (less 90 skipped tests: 463 okay\, 83.27%) ../lib/File/Spec/t/crossplatform....NOK 31/50 # Failed test 'Unix->abs2rel(//foo/bar/file\, //foo/)' # at ../lib/File/Spec/t/crossplatform.t line 64. # got: '../bar/file' # expected: 'bar/file' ../lib/File/Spec/t/crossplatform....NOK 32/50 # Failed test 'Unix->abs2rel(//foo/bar/file\, //foo/)' # at ../lib/File/Spec/t/crossplatform.t line 69. # got: '../bar/file' # expected: 'bar/file' ../lib/File/Spec/t/crossplatform....NOK 33/50 # Failed test 'Unix->abs2rel(//foo/bar/file\, //foo/)' # at ../lib/File/Spec/t/crossplatform.t line 74. # got: '../bar/file' # expected: 'bar/file' ../lib/File/Spec/t/crossplatform....NOK 34/50 # Failed test 'Unix->abs2rel(//foo/bar/file\, //foo/)' # at ../lib/File/Spec/t/crossplatform.t line 80. # got: '../bar/file' # expected: 'bar/file' ../lib/File/Spec/t/crossplatform....NOK 35/50 # Failed test 'Unix->abs2rel(//foo/bar/file\, //foo/)' # at ../lib/File/Spec/t/crossplatform.t line 85. # got: '../bar/file' # expected: 'bar/file' ../lib/File/Spec/t/crossplatform....NOK 36/50 # Failed test 'Unix->abs2rel(//foo/bar/file\, //foo/)' # at ../lib/File/Spec/t/crossplatform.t line 90. # got: '../bar/file' # expected: 'bar/file' # Looks like you failed 6 tests of 50. ../lib/File/Spec/t/crossplatform....dubious Test returned status 6 (wstat 1536\, 0x600) DIED. FAILED tests 31-36 Failed 6/50 tests\, 88.00% okay (less 7 skipped tests: 37 okay\, 74.00%) ../lib/Time/Local...................NOK 97/142 # Failed test 'timelocal second for 1969 12 31 16 59 59' # at ../lib/Time/Local.t line 103. # got: '15' # expected: '59' ../lib/Time/Local...................NOK 98/142 # Failed test 'timelocal minute for 1969 12 31 16 59 59' # at ../lib/Time/Local.t line 104. # got: '28' # expected: '59' ../lib/Time/Local...................NOK 99/142 # Failed test 'timelocal hour for 1969 12 31 16 59 59' # at ../lib/Time/Local.t line 105. # got: '23' # expected: '16' ../lib/Time/Local...................NOK 100/142 # Failed test 'timelocal day for 1969 12 31 16 59 59' # at ../lib/Time/Local.t line 106. # got: '6' # expected: '31' ../lib/Time/Local...................NOK 101/142 # Failed test 'timelocal month for 1969 12 31 16 59 59' # at ../lib/Time/Local.t line 107. # got: '1' # expected: '11' ../lib/Time/Local...................NOK 102/142 # Failed test 'timelocal year for 1969 12 31 16 59 59' # at ../lib/Time/Local.t line 108. # got: '206' # expected: '69' ../lib/Time/Local...................NOK 103/142 # Failed test 'timegm second for 1969 12 31 16 59 59' # at ../lib/Time/Local.t line 117. # got: '15' # expected: '59' ../lib/Time/Local...................NOK 104/142 # Failed test 'timegm minute for 1969 12 31 16 59 59' # at ../lib/Time/Local.t line 118. # got: '28' # expected: '59' ../lib/Time/Local...................NOK 105/142 # Failed test 'timegm hour for 1969 12 31 16 59 59' # at ../lib/Time/Local.t line 119. # got: '23' # expected: '16' ../lib/Time/Local...................NOK 106/142 # Failed test 'timegm day for 1969 12 31 16 59 59' # at ../lib/Time/Local.t line 120. # got: '6' # expected: '31' ../lib/Time/Local...................NOK 107/142 # Failed test 'timegm month for 1969 12 31 16 59 59' # at ../lib/Time/Local.t line 121. # got: '1' # expected: '11' ../lib/Time/Local...................NOK 108/142 # Failed test 'timegm year for 1969 12 31 16 59 59' # at ../lib/Time/Local.t line 122. # got: '206' # expected: '69' ../lib/Time/Local...................NOK 109/142 # Failed test 'timelocal second for 1950 4 12 9 30 31' # at ../lib/Time/Local.t line 103. # got: '47' # expected: '31' ../lib/Time/Local...................NOK 110/142 # Failed test 'timelocal minute for 1950 4 12 9 30 31' # at ../lib/Time/Local.t line 104. # got: '58' # expected: '30' ../lib/Time/Local...................NOK 111/142 # Failed test 'timelocal hour for 1950 4 12 9 30 31' # at ../lib/Time/Local.t line 105. # got: '15' # expected: '9' ../lib/Time/Local...................NOK 112/142 # Failed test 'timelocal day for 1950 4 12 9 30 31' # at ../lib/Time/Local.t line 106. # got: '18' # expected: '12' ../lib/Time/Local...................NOK 113/142 # Failed test 'timelocal month for 1950 4 12 9 30 31' # at ../lib/Time/Local.t line 107. # got: '4' # expected: '3' ../lib/Time/Local...................NOK 114/142 # Failed test 'timelocal year for 1950 4 12 9 30 31' # at ../lib/Time/Local.t line 108. # got: '186' # expected: '50' ../lib/Time/Local...................NOK 115/142 # Failed test 'timegm second for 1950 4 12 9 30 31' # at ../lib/Time/Local.t line 117. # got: '47' # expected: '31' ../lib/Time/Local...................NOK 116/142 # Failed test 'timegm minute for 1950 4 12 9 30 31' # at ../lib/Time/Local.t line 118. # got: '58' # expected: '30' ../lib/Time/Local...................NOK 117/142 # Failed test 'timegm hour for 1950 4 12 9 30 31' # at ../lib/Time/Local.t line 119. # got: '15' # expected: '9' ../lib/Time/Local...................NOK 118/142 # Failed test 'timegm day for 1950 4 12 9 30 31' # at ../lib/Time/Local.t line 120. # got: '18' # expected: '12' ../lib/Time/Local...................NOK 119/142 # Failed test 'timegm month for 1950 4 12 9 30 31' # at ../lib/Time/Local.t line 121. # got: '4' # expected: '3' ../lib/Time/Local...................NOK 120/142 # Failed test 'timegm year for 1950 4 12 9 30 31' # at ../lib/Time/Local.t line 122. # got: '186' # expected: '50' # Looks like you failed 24 tests of 142. ../lib/Time/Local...................dubious Test returned status 24 (wstat 6144\, 0x1800) DIED. FAILED tests 97-120 Failed 24/142 tests\, 83.10% okay op/readline.........................ok 1/17# Failed at op/readline.t line 75 # Failed at op/readline.t line 81 op/readline.........................FAILED tests 12-13 Failed 2/17 tests\, 88.24% okay Failed Test Stat Wstat Total Fail List of Failed ------------------------------------------------------------------------------- ../ext/Cwd/t/cwd.t 1 256 34 1 25 ../lib/File/Path.t 2 512 99 2 13-14 ../lib/File/Spec/t/Spec.t 556 3 38 59-60 ../lib/File/Spec/t/crossplatform.t 6 1536 50 6 31-36 ../lib/Time/Local.t 24 6144 142 24 97-120 op/readline.t 17 2 12-13 137 subtests skipped. Failed 6/6 test scripts. 38/898 subtests failed. Files=6\, Tests=898\, 4 wallclock secs ( 2.57 cusr + 0.02 csys = 2.59 CPU) Failed 6/6 test programs. 38/898 subtests failed.
Thanks for this report. However\, I can't remember when we last knew the status of perl on QNX (in particular\, what 5.10.0 was like\, or 5.8.8) Also\, I know pretty much nothing about QNX\, so I'm not sure if I can do anything other than ask more questions
On Mon\, Feb 04\, 2008 at 10:02:47AM -0800\, mkraai @ beckman. com wrote:
Here's the result of running harness on those tests:
../ext/Cwd/t/cwd....................ok 1/34readdir(linktest/..): Bad file descriptor at ../ext/Cwd/t/cwd.t line 184 ../ext/Cwd/t/cwd....................NOK 25/34 # Failed test at ../ext/Cwd/t/cwd.t line 184. # '' # doesn't match '(?i-xsm:\/tmp\/perl\-33218\/t\/_ptrslt_\/_path_\/_to_\/_a_\/_dir_$)' # Looks like you failed 1 test of 34. ../ext/Cwd/t/cwd....................dubious Test returned status 1 (wstat 256\, 0x100) DIED. FAILED test 25 Failed 1/34 tests\, 97.06% okay (less 1 skipped test: 32 okay\, 94.12%)
There's mention in README.qnx about
ext/Cwd/Cwd.t will complain if `pwd` and cwd don't give the same results. cwd calls `fullpath -t`\, so if you cd `fullpath -t` before running the test\, it will pass.
But that's for QNX4. Is that still relevant?
../lib/Time/Local...................NOK 97/142 # Failed test 'timelocal second for 1969 12 31 16 59 59' # at ../lib/Time/Local.t line 103. # got: '15' # expected: '59'
Failed Test Stat Wstat Total Fail List of Failed ------------------------------------------------------------------------------- ../ext/Cwd/t/cwd.t 1 256 34 1 25 ../lib/File/Path.t 2 512 99 2 13-14 ../lib/File/Spec/t/Spec.t 556 3 38 59-60 ../lib/File/Spec/t/crossplatform.t 6 1536 50 6 31-36 ../lib/Time/Local.t 24 6144 142 24 97-120 op/readline.t 17 2 12-13
The readline in 5.8.8 added tests 14-17. So do 12-13 fail on 5.8.8 too?
Nicholas Clark
The RT System itself - Status changed from 'new' to 'open'
On Mon\, Feb 04\, 2008 at 10:02:47AM -0800\, mkraai @ beckman. com wrote:
QNX clearly doesn't like the negative epoch tests added in Time::Local somewhere between 1.11 and 1.18\, but it give "interesting" results:
../lib/Time/Local...................NOK 97/142 # Failed test 'timelocal second for 1969 12 31 16 59 59' # at ../lib/Time/Local.t line 103. # got: '15' # expected: '59' ../lib/Time/Local...................NOK 98/142 # Failed test 'timelocal minute for 1969 12 31 16 59 59' # at ../lib/Time/Local.t line 104. # got: '28' # expected: '59' ../lib/Time/Local...................NOK 99/142 # Failed test 'timelocal hour for 1969 12 31 16 59 59' # at ../lib/Time/Local.t line 105. # got: '23' # expected: '16' ../lib/Time/Local...................NOK 100/142 # Failed test 'timelocal day for 1969 12 31 16 59 59' # at ../lib/Time/Local.t line 106. # got: '6' # expected: '31' ../lib/Time/Local...................NOK 101/142 # Failed test 'timelocal month for 1969 12 31 16 59 59' # at ../lib/Time/Local.t line 107. # got: '1' # expected: '11' ../lib/Time/Local...................NOK 102/142 # Failed test 'timelocal year for 1969 12 31 16 59 59' # at ../lib/Time/Local.t line 108. # got: '206' # expected: '69' ../lib/Time/Local...................NOK 103/142 # Failed test 'timegm second for 1969 12 31 16 59 59' # at ../lib/Time/Local.t line 117. # got: '15' # expected: '59' ../lib/Time/Local...................NOK 104/142 # Failed test 'timegm minute for 1969 12 31 16 59 59' # at ../lib/Time/Local.t line 118. # got: '28' # expected: '59' ../lib/Time/Local...................NOK 105/142 # Failed test 'timegm hour for 1969 12 31 16 59 59' # at ../lib/Time/Local.t line 119. # got: '23' # expected: '16' ../lib/Time/Local...................NOK 106/142 # Failed test 'timegm day for 1969 12 31 16 59 59' # at ../lib/Time/Local.t line 120. # got: '6' # expected: '31' ../lib/Time/Local...................NOK 107/142 # Failed test 'timegm month for 1969 12 31 16 59 59' # at ../lib/Time/Local.t line 121. # got: '1' # expected: '11' ../lib/Time/Local...................NOK 108/142 # Failed test 'timegm year for 1969 12 31 16 59 59' # at ../lib/Time/Local.t line 122. # got: '206' # expected: '69' ../lib/Time/Local...................NOK 109/142 # Failed test 'timelocal second for 1950 4 12 9 30 31' # at ../lib/Time/Local.t line 103. # got: '47' # expected: '31' ../lib/Time/Local...................NOK 110/142 # Failed test 'timelocal minute for 1950 4 12 9 30 31' # at ../lib/Time/Local.t line 104. # got: '58' # expected: '30' ../lib/Time/Local...................NOK 111/142 # Failed test 'timelocal hour for 1950 4 12 9 30 31' # at ../lib/Time/Local.t line 105. # got: '15' # expected: '9' ../lib/Time/Local...................NOK 112/142 # Failed test 'timelocal day for 1950 4 12 9 30 31' # at ../lib/Time/Local.t line 106. # got: '18' # expected: '12' ../lib/Time/Local...................NOK 113/142 # Failed test 'timelocal month for 1950 4 12 9 30 31' # at ../lib/Time/Local.t line 107. # got: '4' # expected: '3' ../lib/Time/Local...................NOK 114/142 # Failed test 'timelocal year for 1950 4 12 9 30 31' # at ../lib/Time/Local.t line 108. # got: '186' # expected: '50' ../lib/Time/Local...................NOK 115/142 # Failed test 'timegm second for 1950 4 12 9 30 31' # at ../lib/Time/Local.t line 117. # got: '47' # expected: '31' ../lib/Time/Local...................NOK 116/142 # Failed test 'timegm minute for 1950 4 12 9 30 31' # at ../lib/Time/Local.t line 118. # got: '58' # expected: '30' ../lib/Time/Local...................NOK 117/142 # Failed test 'timegm hour for 1950 4 12 9 30 31' # at ../lib/Time/Local.t line 119. # got: '15' # expected: '9' ../lib/Time/Local...................NOK 118/142 # Failed test 'timegm day for 1950 4 12 9 30 31' # at ../lib/Time/Local.t line 120. # got: '18' # expected: '12' ../lib/Time/Local...................NOK 119/142 # Failed test 'timegm month for 1950 4 12 9 30 31' # at ../lib/Time/Local.t line 121. # got: '4' # expected: '3' ../lib/Time/Local...................NOK 120/142 # Failed test 'timegm year for 1950 4 12 9 30 31' # at ../lib/Time/Local.t line 122. # got: '186' # expected: '50' # Looks like you failed 24 tests of 142. ../lib/Time/Local...................dubious Test returned status 24 (wstat 6144\, 0x1800) DIED. FAILED tests 97-120 Failed 24/142 tests\, 83.10% okay op/readline.........................ok 1/17# Failed at op/readline.t line 75 # Failed at op/readline.t line 81 op/readline.........................FAILED tests 12-13 Failed 2/17 tests\, 88.24% okay Failed Test Stat Wstat Total Fail List of Failed -------------------------------------------------------------------------------
../lib/Time/Local.t 24 6144 142 24 97-120
I see that there is a test that tries to spot negative epoch failures:
# Use 3 days before the start of the epoch because with Borland on # Win32 it will work for -3600 _if_ your time zone is +01:00 (or # greater). my $neg_epoch_ok = defined ((localtime(-259200))[0]) ? 1 : 0;
but that isn't working. Using a 64 bit machine I spot:
$ ./perl -Ilib -MTime::Local -le 'print timegm(15\,28\,23\,6\,1\,206)' 4294942095 ./perl -Ilib -MTime::Local -le 'print timegm(47\,58\,15\,18\,4\,186)' 3672575927
and feeding those to perl on a 32 bit machine:
$ perl -wle 'print scalar gmtime 4294942095' Wed Dec 31 16:59:59 1969 $ perl -wle 'print scalar gmtime 3672575927' Wed Apr 12 09:30:31 1950
So it looks like time_t is unsigned on QNX\, and those "negative" times are being interpreted as dates in the far future.
Is this the correct way to fix the test?
Howdy\,
Nicholas\, thanks for your help addressing these problems.
ext/Cwd/t/cwd.t still fails if I run it after running "cd `fullpath -t`".
t/op/readline.t fails tests 12 and 13 in 5.8.8 as well:
op/readline....ok 1/13# Failed at op/readline.t line 75 # Failed at op/readline.t line 81 op/readline....FAILED tests 12-13 Failed 2/13 tests\, 84.62% okay Failed Test Stat Wstat Total Fail Failed List of Failed
op/readline.t 13 2 15.38% 12-13 Failed 1/1 test scripts\, 0.00% okay. 2/13 subtests failed\, 84.62% okay.
lib/Time/Local.t does not fail with your patch applied.
Matt
The server made the following annotations
This message contains information that may be privileged or confidential and is the property of Beckman Coulter\, Inc. It is intended only for the person to whom it is addressed. If you are not the intended recipient\, you are not authorized to read\, print\, retain\, copy\, disseminate\, distribute or use this message or any part thereof. If you receive this message in error\, please notify the sender immediately and delete all copies of this message.
This ticket appears to be about the QNX operating system. Per Wikipedia:
QNX is a commercial Unix-like real-time operating system, aimed primarily at the embedded systems market. QNX was one of the first commercially successful microkernel operating systems[citation needed] and is currently used in a variety of devices including cars[1] and mobile phones.
The product was originally developed in the early 1980s by Canadian company Quantum Software Systems, later renamed QNX Software Systems. The company was ultimately acquired by BlackBerry in 2010.[2]
Does anyone know anyone who works at Blackberry to whom we could direct an inquiry?
Thank you very much. Jim Keenan
I have a non-commercial hobbyist installation of QNX Neutrino 6.5.0 that I use for testing CPAN modules such as ExtUtils::MakeMaker etc.
http://www.qnx.com/legal/licensing/non_commercial.html
I can't exactly remember how I got this, but I seem to recall sending an email to the sales people saying I was a Perl developer and CPAN tester.
I have done a build of v5.30.1, attached are the build and test logs.
`Summary of my perl5 (revision 5 version 30 subversion 1) configuration:
Platform: osname=nto osvers=6.5.0 archname=x86pc-nto-64int uname='qnx neutrino 6.5.0 20100709-14:44:03edt x86pc x86 ' config_args='-des -Dprefix=/opt/perl-5.30.1 -Duse64bitint -Dusemallocwrap=y -Dusemymalloc=n' hint=recommended useposix=true d_sigaction=define useithreads=undef usemultiplicity=undef use64bitint=define use64bitall=undef uselongdouble=undef usemymalloc=n default_inc_excludes_dot=define bincompat5005=undef Compiler: cc='gcc' ccflags ='-USTRICT_ANSI -fwrapv -fno-strict-aliasing -pipe -D_FORTIFY_SOURCE=2' optimize='-O' cppflags='-USTRICT_ANSI -fwrapv -fno-strict-aliasing -pipe' ccversion='' gccversion='4.4.2' gccosandvers='' intsize=4 longsize=4 ptrsize=4 doublesize=8 byteorder=12345678 doublekind=3 d_longlong=define longlongsize=8 d_longdbl=define longdblsize=12 longdblkind=3 ivtype='long long' ivsize=8 nvtype='double' nvsize=8 Off_t='off_t' lseeksize=4 alignbytes=4 prototype=define Linker and Libraries: ld='gcc' ldflags =' -L/usr/local/lib' libpth=/usr/qnx650/target/qnx6/usr/include/c++/4.4.2 /usr/qnx650/target/qnx6/usr/include/c++/4.4.2/i486-pc-nto-qnx6.5.0 /usr/qnx650/target/qnx6/usr/include/c++/4.4.2/backward /usr/qnx650/target/qnx6/usr/lib /usr/local/lib /lib /usr/lib libs=-lsocket -lm -lc perllibs=-lsocket -lm -lc libc= so=so useshrplib=false libperl=libperl.a gnulibc_version='' Dynamic Linking: dlsrc=dl_dlopen.xs dlext=so d_dlsymun=undef ccdlflags=' -Wl,-E' cccdlflags='-fpic' lddlflags=' -shared -L/usr/local/lib'
Characteristics of this binary (from libperl): Compile-time options: HAS_TIMES PERLIO_LAYERS PERL_COPY_ON_WRITE PERL_DONT_CREATE_GVSV PERL_MALLOC_WRAP PERL_OP_PARENT PERL_PRESERVE_IVUV USE_64_BIT_INT USE_LARGE_FILES USE_LOCALE USE_LOCALE_COLLATE USE_LOCALE_CTYPE USE_LOCALE_NUMERIC USE_LOCALE_TIME USE_PERLIO USE_PERL_ATOF Built under nto Compiled at Feb 23 2020 11:18:16 @INC: lib /opt/perl-5.30.1/lib/site_perl/5.30.1/x86pc-nto-64int /opt/perl-5.30.1/lib/site_perl/5.30.1 /opt/perl-5.30.1/lib/5.30.1/x86pc-nto-64int /opt/perl-5.30.1/lib/5.30.1 make.txt make_test.txt
`
Migrated from rt.perl.org#50530 (status was 'open')
Searchable as RT50530$