Skip Menu |

This queue is for tickets about the Test-Harness CPAN distribution.

Report information
The Basics
Id: 33007
Status: resolved
Priority: 0/
Queue: Test-Harness

People
Owner: andy [...] hexten.net
Requestors: david.pitt [...] nab.com.au
Cc:
AdminCc:

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



Subject: prove incompatibilities with 2.64
1) 'prove --dry' no longer supported (wishlist). 2) 'prove -r' doesn't recurse into all directories, only 't' directory. 2.64 recursed into all directories. Have to use 'prove - r .' which leads to: 3) Unsupported YAMLish syntax $ prove -r --state=save . ... $ prove -V Unsupported YAMLish syntax: './Ledger/t/02_legal_entity.t:' at /opt/perl/5.8.8/lib/site_perl/TAP/Parser/YAMLish/Reader.pm line 191, <FH> line 4. $ head -20 .prove /vobs/kalm/src/perl/lib/KALM> head -20 .prove --- generation: 2 tests: ./Ledger/t/02_legal_entity.t: elapsed: 2.85970997810364 gen: 2 last_pass_time: 1202445672.63701 last_result: 0 last_run_time: 1202445672.63701 last_todo: 0 seq: 68 total_passes: 1 ./Oracle/t/xfer.t: elapsed: 14.821683883667 gen: 2 last_fail_time: 1202445666.09779 last_result: 6 last_run_time: 1202445666.09779 last_todo: 0 mtime: 1201838189 Environment: $ prove -V TAP::Harness v3.07 and Perl v5.8.8 $ perl -V Summary of my perl5 (revision 5 version 8 subversion 8) configuration: Platform: osname=linux, osvers=2.6.9-42.0.3.elsmp, archname=x86_64-linux uname='linux melladgte01 2.6.9-42.0.3.elsmp #1 smp mon sep 25 17:24:31 edt 2006 x86_64 x86_64 x86_64 gnulinux ' config_args='-Duseshrplib -Doptimize=-O2 -g -pipe -m64 - Duse64bitall -Dprefix=/opt/perl/5.8.8 -Dscriptdir=/opt/perl/5.8.8/bin - Dinstallprefix=/var/tmp/build_perl/5.8.8/core/dist//opt/perl/5.8.8 - Darchlib=/opt/perl/5.8.8/lib/x86_64-linux - Dprivlib=/opt/perl/5.8.8/lib - Dsitearch=/opt/perl/5.8.8/lib/site_perl/x86_64-linux - Dsitelib=/opt/perl/5.8.8/lib/site_perl - Dlocincpth=/opt/local/include /usr/local/BerkeleyDB/include - Dloclibpth=/opt/local/lib /usr/local/BerkeleyDB/lib - Dperl5=/opt/perl/5.8.8/bin/perl -des' 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=define use64bitall=define uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='cc', ccflags ='-DDEBUGGING -fno-strict-aliasing -pipe - Wdeclaration-after-statement -D_LARGEFILE_SOURCE - D_FILE_OFFSET_BITS=64', optimize='-O2 -g -pipe -m64', cppflags='-DDEBUGGING -fno-strict-aliasing -pipe -Wdeclaration- after-statement' ccversion='', gccversion='3.4.6 20060404 (Red Hat 3.4.6-3)', gccosandvers='' intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16 ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8 alignbytes=8, prototype=define Linker and Libraries: ld='cc', ldflags ='' libpth=/lib /usr/lib /usr/local/lib libs=-lnsl -ldl -lm -lcrypt -lutil -lc perllibs=-lnsl -ldl -lm -lcrypt -lutil -lc libc=/lib/libc-2.3.4.so, so=so, useshrplib=true, libperl=libperl.so gnulibc_version='2.3.4' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E - Wl,-rpath,/opt/perl/5.8.8/lib/x86_64-linux/CORE' cccdlflags='-fpic', lddlflags='-shared' Characteristics of this binary (from libperl): Compile-time options: DEBUGGING PERL_MALLOC_WRAP USE_64_BIT_ALL USE_64_BIT_INT USE_LARGE_FILES USE_PERLIO Built under linux Compiled at Dec 19 2007 12:21:06 %ENV: PERL5LIB="/vobs/irm/src/perl/lib:/vobs/kalm/src/perl/lib" @INC: /vobs/irm/src/perl/lib /vobs/kalm/src/perl/lib /opt/perl/5.8.8/lib/x86_64-linux /opt/perl/5.8.8/lib /opt/perl/5.8.8/lib/site_perl/x86_64-linux /opt/perl/5.8.8/lib/site_perl /opt/perl/5.8.8/lib/site_perl . Possible (untested) patch for (2): App/Prove/State.pm: 227c227 < @argv = 't'; --- Show quoted text
> @argv = $recurse ? '.' : 't';
Hi Dave, --dry wishlist noted - I'll try to get it done in the next few days. The bug with prove -r . is already fixed in the SVN sitting on my machine. 3.08 will get the fix. Thanks for the report :)
On Fri Feb 08 14:43:23 2008, ANDYA wrote: Show quoted text
> Hi Dave, > > --dry wishlist noted - I'll try to get it done in the next few days. > > The bug with prove -r . is already fixed in the SVN sitting on my > machine. 3.08 will get the > fix. > > Thanks for the report :)
3.08 is on its way to the CPAN. It fixes the -r . problem and adds a --dry switch. Thanks again.
Subject: Re: [rt.cpan.org #33007] prove incompatibilities with 2.64
Date: Tue, 12 Feb 2008 10:14:09 +1100
To: bug-Test-Harness [...] rt.cpan.org
From: David.Pitt [...] nab.com.au
Hi Andy, Thanks for the prompt response. Can confirm that --dry works fine. Unfortunately I don't think you've fixed the problem with -r: (1) ~/CPAN/Test-Harness-3.09> PERL5LIB=blib/lib perl ./bin/prove -r -D t/000-load.t ... t/yamlish.t (2) ~/CPAN/Test-Harness-3.09> PERL5LIB=blib/lib perl ./bin/prove -r -D . ./examples/t/10-stuff.t ./examples/t/ruby.t ./t/000-load.t ... ./t/yamlish.t ./xt/author/pod-coverage.t ./xt/author/pod.t ./xt/author/stdin.t ./xt/perls/harness_perl.t I expect (1) to run the same tests as (2). I also discovered that the --state option doesn't seem to play well combined with -r . : (3) ~/CPAN/Test-Harness-3.09> PERL5LIB=blib/lib perl ./bin/prove -r --state=save . ./examples/t/10-stuff...............1/? # Failed test 'this is_deeply test fails' # in ./examples/t/10-stuff.t at line 7. # Structures begin differing at: # $got->[0] = '2' # $expected->[0] = '3' # Looks like you failed 1 test of 6. ./examples/t/10-stuff............... Dubious, test returned 1 (wstat 256, 0x100) Failed 1/6 subtests (less 2 skipped subtests: 3 okay) (1 TODO test unexpectedly succeeded) ./examples/t/ruby...................Undefined subroutine &main::puts called at ./examples/t/ruby.t line 1. ./examples/t/ruby................... Dubious, test returned 255 (wstat 65280, 0xff00) No subtests run ./t/000-load........................59/60 # Testing Test::Harness 3.09, Perl 5.008008, /opt/perl/5.8.8/bin/perl ./t/000-load........................ok ./t/aggregator......................ok ./t/bailout.........................ok ./t/base............................ok ./t/callbacks.......................ok ./t/compat/env......................ok ./t/compat/failure..................ok ./t/compat/inc-propagation..........ok ./t/compat/inc_taint................ok ./t/compat/nonumbers................ok ./t/compat/regression...............ok ./t/compat/test-harness-compat......ok ./t/compat/version..................ok ./t/console.........................ok ./t/errors..........................ok ./t/grammar.........................ok ./t/harness.........................ok ./t/iterators.......................ok ./t/multiplexer.....................ok ./t/nofork-mux......................ok ./t/nofork..........................ok ./t/parse...........................ok ./t/premature-bailout...............ok ./t/process.........................ok ./t/prove...........................ok ./t/proverc.........................ok ./t/proverun........................ok ./t/regression......................ok ./t/results.........................ok ./t/source..........................ok ./t/spool...........................ok ./t/state...........................ok ./t/streams.........................ok ./t/taint...........................ok ./t/testargs........................ok ./t/unicode.........................ok ./t/utils...........................ok ./t/yamlish-output..................ok ./t/yamlish-writer..................ok ./t/yamlish.........................ok ./xt/author/pod-coverage............ok ./xt/author/pod.....................ok ./xt/author/stdin...................ok ./xt/perls/harness_perl.............skipped: no perls found in '/usr/local/stow/' Test Summary Report ------------------- ./examples/t/10-stuff.t (Wstat: 256 Tests: 6 Failed: 1) Failed test: 2 TODO passed: 6 Non-zero exit status: 1 ./examples/t/ruby.t (Wstat: 65280 Tests: 0 Failed: 0) Non-zero exit status: 255 Parse errors: No plan found in TAP output Files=46, Tests=10410, 30 wallclock secs ( 2.32 usr 1.35 sys + 13.38 cusr 11.14 csys = 28.19 CPU) Result: FAIL (4) ~/CPAN/Test-Harness-3.09> PERL5LIB=blib/lib perl ./bin/prove -r --state=failed,save . ./examples/t/10-stuff...............1/? # Failed test 'this is_deeply test fails' # in ./examples/t/10-stuff.t at line 7. # Structures begin differing at: # $got->[0] = '2' # $expected->[0] = '3' # Looks like you failed 1 test of 6. ./examples/t/10-stuff............... Dubious, test returned 1 (wstat 256, 0x100) Failed 1/6 subtests (less 2 skipped subtests: 3 okay) (1 TODO test unexpectedly succeeded) ./examples/t/ruby...................Undefined subroutine &main::puts called at ./examples/t/ruby.t line 1. ./examples/t/ruby................... Dubious, test returned 255 (wstat 65280, 0xff00) No subtests run ./t/000-load........................3/60 # Testing Test::Harness 3.09, Perl 5.008008, /opt/perl/5.8.8/bin/perl ./t/000-load........................ok ./t/aggregator......................ok ./t/bailout.........................ok ./t/base............................ok ./t/callbacks.......................ok ./t/compat/env......................ok ./t/compat/failure..................ok ./t/compat/inc-propagation..........ok ./t/compat/inc_taint................ok ./t/compat/nonumbers................ok ./t/compat/regression...............ok ./t/compat/test-harness-compat......ok ./t/compat/version..................ok ./t/console.........................ok ./t/errors..........................ok ./t/grammar.........................ok ./t/harness.........................ok ./t/iterators.......................ok ./t/multiplexer.....................ok ./t/nofork-mux......................ok ./t/nofork..........................ok ./t/parse...........................ok ./t/premature-bailout...............ok ./t/process.........................ok ./t/prove...........................ok ./t/proverc.........................ok ./t/proverun........................ok ./t/regression......................ok ./t/results.........................ok ./t/source..........................ok ./t/spool...........................ok ./t/state...........................ok ./t/streams.........................ok ./t/taint...........................ok ./t/testargs........................ok ./t/unicode.........................ok ./t/utils...........................ok ./t/yamlish-output..................ok ./t/yamlish-writer..................ok ./t/yamlish.........................ok ./xt/author/pod-coverage............ok ./xt/author/pod.....................ok ./xt/author/stdin...................ok ./xt/perls/harness_perl.............skipped: no perls found in '/usr/local/stow/' Test Summary Report ------------------- ./examples/t/10-stuff.t (Wstat: 256 Tests: 6 Failed: 1) Failed test: 2 TODO passed: 6 Non-zero exit status: 1 ./examples/t/ruby.t (Wstat: 65280 Tests: 0 Failed: 0) Non-zero exit status: 255 Parse errors: No plan found in TAP output Files=46, Tests=10410, 30 wallclock secs ( 2.22 usr 1.29 sys + 14.55 cusr 10.81 csys = 28.87 CPU) Result: FAIL Seems to run all the tests again, rather than skipping the passed tests. This may be related to the quoted test names in .prove. Regards, David Pitt | Enterprise Services Technology | National Australia Bank Limited Phone +61 3 8641 2014 | Email david.pitt@nab.com.au | Level 26, 500 Bourke Street, Melbourne "Andy Armstrong via RT" <bug-Test-Harness To @rt.cpan.org> david.pitt@nab.com.au cc 09/02/2008 07:31 AM Subject [rt.cpan.org #33007] prove incompatibilities with 2.64 Please respond to bug-Test-Harness@ rt.cpan.org <URL: http://rt.cpan.org/Ticket/Display.html?id=33007 > On Fri Feb 08 14:43:23 2008, ANDYA wrote: Show quoted text
> Hi Dave, > > --dry wishlist noted - I'll try to get it done in the next few days. > > The bug with prove -r . is already fixed in the SVN sitting on my > machine. 3.08 will get the > fix. > > Thanks for the report :)
3.08 is on its way to the CPAN. It fixes the -r . problem and adds a --dry switch. Thanks again. National Australia Bank Ltd - ABN 12 004 044 937 This email may contain confidential information. If you are not the intended recipient, please immediately notify us at postmaster@nab.com.au or by replying to the sender, and then destroy all copies of this email. Except where this email indicates otherwise, views expressed in this email are those of the sender and not of National Australia Bank Ltd. Advice in this email does not take account of your objectives, financial situation, or needs. It is important for you to consider these matters and, if the e-mail refers to a product(s), you should read the relevant Product Disclosure Statement(s)/other disclosure document(s) before making any decisions. If you do not want email marketing from us in future, forward this email with "unsubscribe" in the subject line to Unsubscriptions@nab.com.au in order to stop marketing emails from this sender. National Australia Bank Ltd does not represent that this email is free of errors, viruses or interference.
On Mon Feb 11 18:15:19 2008, david.pitt@nab.com.au wrote: Show quoted text
> Hi Andy, > > Thanks for the prompt response. Can confirm that --dry works fine. > Unfortunately I don't think you've fixed the problem with -r: > > (1) ~/CPAN/Test-Harness-3.09> PERL5LIB=blib/lib perl ./bin/prove -r -D > t/000-load.t > ... > t/yamlish.t > > (2) ~/CPAN/Test-Harness-3.09> PERL5LIB=blib/lib perl ./bin/prove -r -D > . > ./examples/t/10-stuff.t > ./examples/t/ruby.t > ./t/000-load.t > ... > ./t/yamlish.t > ./xt/author/pod-coverage.t > ./xt/author/pod.t > ./xt/author/stdin.t > ./xt/perls/harness_perl.t > > I expect (1) to run the same tests as (2).
I've just committed a change to svn that fixes this. It'll show up in T::H 3.11 which will probably be released in a week or so. Show quoted text
> I also discovered that the --state option doesn't seem to play well > combined with -r . :
[snip] Show quoted text
> Seems to run all the tests again, rather than skipping the passed > tests. This may be related to the quoted test names in .prove.
No, that's expected behaviour. If you specify any files they're *added* to the files contributed by the stored state. The tests run are the union of any files you specified on the command line and any remembered by state. I'm sure the documentation could be clearer on that point.