Why is this failing?

Ovid on 2007-11-29T10:22:39

I'm getting a lot of failures for Test::Aggregate 0.02. The failures are along the lines of this one:

t/aggregate....# Testing Test::Aggregate 0.02, Perl 5.008006, /home/cpan/perl586/bin/perl
Don't know which tests failed: got 12 ok, expected 0

I haven't been able to reproduce this on Mac OS X, Windows or Solaris. Is anyone able to look into this and tell me what I did wrong?


No plan

mauzo on 2007-11-29T11:01:23

The problem is the test isn't outputting a plan... I get

$ perl -Mblib t/aggregate.t
ok 1 - use Test::Aggregate;
ok 2 - use Slow::Loading::Module;
ok 3 - ******** running tests for aggtests/00-load.t ********
# Testing Test::Aggregate 0.02, Perl 5.008008, /home/mauzo/src/perl/oldperls/install/5.8.8-multi-debug/bin/perl
ok 4 - ******** running tests for aggtests/boilerplate.t ********
ok 5 - README contains no boilerplate text
ok 6 - Changes contains no boilerplate text
ok 7 - lib/Test/Aggregate.pm contains no boilerplate text
ok 8 - ******** running tests for aggtests/slow_load.t ********
ok 9 - slow loading module loaded
ok 10 - ******** running tests for aggtests/subs.t ********
ok 11 - subs work!
ok 12 - ******** running tests for aggtests/pod.t ********
$

This is with
  5.8.8
  FreeBSD
  Test::Builder 0.72
  Test::Harness 2.56

I haven't attempted to look further, on the assumption that you'll know what's wrong... let me know if there's more info that will help :).

Re:No plan

Ovid on 2007-11-29T11:17:56

A ha! That's very interesting. Do you have Test::Pod 1.14 or better installed? I'm guessing you don't.

The tests are halting prematurely and I think I need to figure out a better way to handle 'skip_all'. Here's what the test results should really look like:

$ prove -v t
t/aggregate......
ok 1 - use Test::Aggregate;
ok 2 - use Slow::Loading::Module;
ok 3 - ******** running tests for aggtests/00-load.t ********
ok 4 - ******** running tests for aggtests/boilerplate.t ********
# Testing Test::Aggregate 0.02, Perl 5.008008, /opt/csw/bin/perl
ok 5 - README contains no boilerplate text
ok 6 - Changes contains no boilerplate text
ok 7 - lib/Test/Aggregate.pm contains no boilerplate text
ok 8 - ******** running tests for aggtests/slow_load.t ********
ok 9 - slow loading module loaded
ok 10 - ******** running tests for aggtests/subs.t ********
ok 11 - subs work!
ok 12 - ******** running tests for aggtests/pod.t ********
ok 13 - blib/lib/Test/Aggregate.pm
ok 14 - ******** running tests for aggtests/pod-coverage.t ********
ok 15 - Pod coverage on Test::Aggregate
1..15
ok
All tests successful.
Files=1, Tests=15,  5 wallclock secs ( 0.01 usr  0.01 sys +  0.12 cusr  0.02 csys =  0.16 CPU)
Result: PASS

Re: No plan

mauzo on 2007-11-29T11:52:15

No, no Test::Pod installed at all on this copy of perl.

Re: No plan

Ovid on 2007-11-29T12:01:20

I've verified that this is actually the problem. I'll get another release out tonight. It will probably be an interim release to get the tests passing and later I will think a bit more about how to resolve this. Thanks for your help!

Re: No plan

AndyArmstrong on 2007-11-29T13:17:18

It fails reliably on my CentOS 4.3 VM - which I'll have with me at the weekend - so we can play then if it's still a problem :)

Re: No plan

Ovid on 2007-11-29T14:02:26

Version 0.03 is now available. That should fix the problem.

Re: No plan

AndyArmstrong on 2007-11-29T14:13:26

andy@spore Test-Aggregate-0.03]$ perl Makefile.PL
Checking if your kit is complete...
Looks good
Writing Makefile for Test::Aggregate
[andy@spore Test-Aggregate-0.03]$ make test
cp lib/Test/Aggregate.pm blib/lib/Test/Aggregate.pm
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/aggregate.........2/0 # Testing Test::Aggregate 0.03, Perl 5.008005, /usr/bin/perl
t/aggregate.........ok
t/pod-coverage......skipped: Test::Pod::Coverage 1.04 required for testing POD coverage
t/pod...............ok
All tests successful.
Files=3, Tests=12, 5 wallclock secs ( 0.00 usr 0.02 sys + 0.12 cusr 0.05 csys = 0.19 CPU)
Result: PASS :)