Skip Menu |
 

This queue is for tickets about the ExtUtils-Constant CPAN distribution.

Report information
The Basics
Id: 78188
Status: new
Priority: 0/
Queue: ExtUtils-Constant

People
Owner: Nobody in particular
Requestors: DOY [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: (no value)



Subject: [perl #39055] Patches for 5.8.8 lib/ExtUtils/t failures
Download (untitled) / with headers
text/plain 9.4k
Forwarding from the rt.perl queue: ---------------------------------- This is a bug report for perl from paull@cv.hp.com, generated with the help of perlbug 1.35 running under perl v5.8.8. Hello During my build of 5.8.8, I encountered phantom failures among the tests of lib/ExtUtils. I believe the tests are making the assumption that a Makefile.PL cannot be created/closed, then executed to produce a Makefile, all within the 1-second (on many platforms) granularity of filesystem timestamps. In other words, a sufficiently fast box will randomly be able to produce a Makefile from a Makefile.PL, with a matching mtime. The tests probably should not use a '-M < -M' type of comparison, but I chose to insert a 'sleep 2' before the generation instead. Enclosed please find patches for lib/ExtUtils/t/Constant.t lib/ExtUtils/t/PL_FILES.t lib/ExtUtils/t/basic.t lib/ExtUtils/t/installbase.t lib/ExtUtils/t/prereq_print.t lib/ExtUtils/t/recurs.t Best Regards -pal #---------------------------------- cut here ---------------------------------- # This is a shell archive. Remove anything before this line, # then unpack it by saving it in a file and typing "sh file". # # Wrapped by paull <paull@cv.hp.com> on Tue May 2 13:41:41 2006 # # This archive contains: # Constant.t.diff PL_FILES.t.diff # basic.t.diff installbase.t.diff # prereq_print.t.diff recurs.t.diff # # Error checking via wc(1) will be performed. # Error checking via sum(1) will be performed. LANG=""; export LANG PATH=/bin:/usr/bin:/usr/sbin:/usr/ccs/bin:$PATH; export PATH EXIT_STATUS=0 if sum -r </dev/null >/dev/null 2>&1 then sumopt='-r' else sumopt='' fi echo x - Constant.t.diff cat >Constant.t.diff <<'@EOF' *** Constant.t Sun Aug 21 09:18:43 2005 --- ../../../../../withPatches/lib/ExtUtils/t/Constant.t Wed Apr 26 15:54:55 2006 *************** *** 110,115 **** --- 110,116 ---- sub build_and_run { my ($tests, $expect, $files) = @_; my $core = $ENV{PERL_CORE} ? ' PERL_CORE=1' : ''; + sleep 2; my @perlout = `$runperl Makefile.PL $core`; if ($?) { print "not ok $realtest # $runperl Makefile.PL failed: $?\n"; @EOF set `sum $sumopt <Constant.t.diff`; if test $1 -ne 30555 then echo ERROR: Constant.t.diff checksum is $1 should be 30555 EXIT_STATUS=1 fi set `wc -lwc <Constant.t.diff` if test $1$2$3 != 1260430 then echo ERROR: wc results of Constant.t.diff are $* should be 12 60 430 EXIT_STATUS=1 fi chmod 664 Constant.t.diff echo x - PL_FILES.t.diff cat >PL_FILES.t.diff <<'@EOF' *** PL_FILES.t Sat May 21 02:43:24 2005 --- ../../../../../withPatches/lib/ExtUtils/t/PL_FILES.t Wed Apr 26 15:57:48 2006 *************** *** 31,36 **** --- 31,37 ---- ok chdir('PL_FILES-Module'); + sleep 2; run(qq{$perl Makefile.PL}); cmp_ok( $?, '==', 0 ); @EOF set `sum $sumopt <PL_FILES.t.diff`; if test $1 -ne 20521 then echo ERROR: PL_FILES.t.diff checksum is $1 should be 20521 EXIT_STATUS=1 fi set `wc -lwc <PL_FILES.t.diff` if test $1$2$3 != 1233274 then echo ERROR: wc results of PL_FILES.t.diff are $* should be 12 33 274 EXIT_STATUS=1 fi chmod 664 PL_FILES.t.diff echo x - basic.t.diff cat >basic.t.diff <<'@EOF' *** basic.t Fri Oct 21 05:00:22 2005 --- ../../../../../withPatches/lib/ExtUtils/t/basic.t Wed Apr 26 15:58:44 2006 *************** *** 47,52 **** --- 47,53 ---- ok( chdir('Big-Dummy'), "chdir'd to Big-Dummy" ) || diag("chdir failed: $!"); + sleep 2; my @mpl_out = run(qq{$perl Makefile.PL "PREFIX=../dummy-install"}); END { rmtree '../dummy-install'; } *************** *** 254,259 **** --- 255,261 ---- # Test NO_META META.yml suppression unlink $meta_yml; ok( !-f $meta_yml, 'META.yml deleted' ); + sleep 2; @mpl_out = run(qq{$perl Makefile.PL "NO_META=1"}); cmp_ok( $?, '==', 0, 'Makefile.PL exited with zero' ) || diag(@mpl_out); my $distdir_out = run("$make distdir"); *************** *** 262,267 **** --- 264,270 ---- # Make sure init_dirscan doesn't go into the distdir + sleep 2; @mpl_out = run(qq{$perl Makefile.PL "PREFIX=../dummy-install"}); cmp_ok( $?, '==', 0, 'Makefile.PL exited with zero' ) || diag(@mpl_out); @EOF set `sum $sumopt <basic.t.diff`; if test $1 -ne 59342 then echo ERROR: basic.t.diff checksum is $1 should be 59342 EXIT_STATUS=1 fi set `wc -lwc <basic.t.diff` if test $1$2$3 != 32124971 then echo ERROR: wc results of basic.t.diff are $* should be 32 124 971 EXIT_STATUS=1 fi chmod 664 basic.t.diff echo x - installbase.t.diff cat >installbase.t.diff <<'@EOF' *** installbase.t Thu Apr 7 01:32:22 2005 --- ../../../../../withPatches/lib/ExtUtils/t/installbase.t Wed Apr 26 15:59:04 2006 *************** *** 35,40 **** --- 35,41 ---- ok( chdir('Big-Dummy'), "chdir'd to Big-Dummy") || diag("chdir failed; $!"); + sleep 2; my @mpl_out = run(qq{$perl Makefile.PL "INSTALLBASE=../dummy-install"}); END { rmtree '../dummy-install'; } @EOF set `sum $sumopt <installbase.t.diff`; if test $1 -ne 53412 then echo ERROR: installbase.t.diff checksum is $1 should be 53412 EXIT_STATUS=1 fi set `wc -lwc <installbase.t.diff` if test $1$2$3 != 1244385 then echo ERROR: wc results of installbase.t.diff are $* should be 12 44 385 EXIT_STATUS=1 fi chmod 664 installbase.t.diff echo x - prereq_print.t.diff cat >prereq_print.t.diff <<'@EOF' *** prereq_print.t Fri Oct 21 05:00:23 2005 --- ../../../../../withPatches/lib/ExtUtils/t/prereq_print.t Wed Apr 26 15:59:52 2006 *************** *** 48,53 **** --- 48,54 ---- diag("chdir failed: $!"); unlink $Makefile; + sleep 2; my $prereq_out = run(qq{$Perl Makefile.PL "PREREQ_PRINT=1"}); ok( !-r $Makefile, "PREREQ_PRINT produces no $Makefile" ); is( $?, 0, ' exited normally' ); *************** *** 61,66 **** --- 62,68 ---- } + sleep 2; $prereq_out = run(qq{$Perl Makefile.PL "PRINT_PREREQ=1"}); ok( !-r $Makefile, "PRINT_PREREQ produces no $Makefile" ); is( $?, 0, ' exited normally' ); @EOF set `sum $sumopt <prereq_print.t.diff`; if test $1 -ne 57779 then echo ERROR: prereq_print.t.diff checksum is $1 should be 57779 EXIT_STATUS=1 fi set `wc -lwc <prereq_print.t.diff` if test $1$2$3 != 2281642 then echo ERROR: wc results of prereq_print.t.diff are $* should be 22 81 642 EXIT_STATUS=1 fi chmod 664 prereq_print.t.diff echo x - recurs.t.diff cat >recurs.t.diff <<'@EOF' *** recurs.t Thu Apr 7 01:32:22 2005 --- ../../../../../withPatches/lib/ExtUtils/t/recurs.t Wed Apr 26 16:00:52 2006 *************** *** 45,50 **** --- 45,51 ---- # Check recursive Makefile building. + sleep 2; my @mpl_out = run(qq{$perl Makefile.PL}); cmp_ok( $?, '==', 0, 'Makefile.PL exited with zero' ) || *************** *** 68,73 **** --- 69,75 ---- # Check NORECURS + sleep 2; @mpl_out = run(qq{$perl Makefile.PL "NORECURS=1"}); cmp_ok( $?, '==', 0, 'Makefile.PL NORECURS=1 exited with zero' ) || *************** *** 93,98 **** --- 95,101 ---- # Check that arguments aren't stomped when they have .. prepended # [rt.perl.org 4345] + sleep 2; @mpl_out = run(qq{$perl Makefile.PL "INST_SCRIPT=cgi"}); cmp_ok( $?, '==', 0, 'Makefile.PL exited with zero' ) || @EOF set `sum $sumopt <recurs.t.diff`; if test $1 -ne 52443 then echo ERROR: recurs.t.diff checksum is $1 should be 52443 EXIT_STATUS=1 fi set `wc -lwc <recurs.t.diff` if test $1$2$3 != 32112808 then echo ERROR: wc results of recurs.t.diff are $* should be 32 112 808 EXIT_STATUS=1 fi chmod 664 recurs.t.diff if test "$EXIT_STATUS" -eq 1 then exit 1 fi exit 0 --- Flags: category=library severity=low --- Site configuration information for perl v5.8.8: Configured by paull at Wed Apr 26 13:31:42 PDT 2006. Summary of my perl5 (revision 5 version 8 subversion 8) configuration: Platform: osname=hpux, osvers=11.11, archname=PA-RISC2.0 uname='hp-ux hpcvipal b.11.11 u 9000785 2003320704 unlimited-user license ' config_args='' hint=recommended, useposix=true, d_sigaction=define usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef useperlio=define d_sfio=undef uselargefiles=define usesocks=undef use64bitint=undef use64bitall=undef uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='cc', ccflags =' -Ae -D_HPUX_SOURCE -Wl,+vnocompatwarnings -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 ', optimize='+O2 +Onolimit', cppflags='-Aa -D__STDC_EXT__ -D_HPUX_SOURCE -D_HPUX_SOURCE -Wl,+vnocompatwarnings' ccversion='B.11.X.32509-32512.GP', gccversion='', gccosandvers='' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16 ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8 alignbytes=8, prototype=define Linker and Libraries: ld='/usr/bin/ld', ldflags ='' libpth=/lib /usr/lib /usr/ccs/lib libs=-lnsl -lnm -lndbm -lmalloc -ldld -lm -lcrypt -lsec -lc perllibs=-lnsl -lnm -lmalloc -ldld -lm -lcrypt -lsec -lc libc=/lib/libc.sl, so=sl, useshrplib=false, libperl=libperl.a gnulibc_version='' Dynamic Linking: dlsrc=dl_hpux.xs, dlext=sl, d_dlsymun=undef, ccdlflags='-Wl,-E -Wl,-B,deferred ' cccdlflags='+Z', lddlflags='-b +vnocompatwarnings' Locally applied patches: --- @INC for perl v5.8.8: /apps/perl-5.8.8/32bitPA-RISC2.0/lib/5.8.8/PA-RISC2.0 /apps/perl-5.8.8/32bitPA-RISC2.0/lib/5.8.8 /apps/perl-5.8.8/32bitPA-RISC2.0/lib/site_perl/5.8.8/PA-RISC2.0 /apps/perl-5.8.8/32bitPA-RISC2.0/lib/site_perl/5.8.8 /apps/perl-5.8.8/32bitPA-RISC2.0/lib/site_perl . --- Environment for perl v5.8.8: HOME=/home/paull LANG=C LANGUAGE (unset) LD_LIBRARY_PATH (unset) LOGDIR (unset) PATH=/apps/perl-5.8.8/32bitPA-RISC2.0/bin:/usr/bin:/usr/bin/X11:/usr/ccs/bin:/usr/contrib/bin:/opt/ansic/bin:/usr/contrib/bin/X11:/home/paull/develBin:/usr/local/bin/X11:/opt/fortran90/bin:/opt/fortran90/contrib/bin:/home/paull/bin:/apps/perl-5.8.8/32bitPA-RISC2.0/ext/bin:. PERL_BADLANG (unset) SHELL=/usr/bin/sh


This service is sponsored and maintained by Best Practical Solutions and runs on Perl.org infrastructure.

Please report any issues with rt.cpan.org to rt-cpan-admin@bestpractical.com.