Subject: | Test::Simple (>=0.88) causes error: More than one plan found in TAP output |
I think this is because the new done_testing() will output the plan
(1..X) if it hasn't already, and Test::Aggregate::Builder always outputs it.
This results in two plans being output, and the aggregated test being
FAILed.
I've attached a patch that seems to resolve this.
Slightly related: I think a recent update has caused the planned number
of tests to be overwritten by the final test (script) in the aggregation.
e.g.
agg/1.t: use Test::More tests => 1;
agg/2.t: use Test::More tests => 2;
agg/3.t: use Test::More tests => 3;
would give:
Looks like you planned 6 tests but ran 3
Subject: | aggregate_builder_0.35.patch |
--- Test/Aggregate/Builder.pm 2009-07-31 12:18:32.107861185 +0100
+++ Test/Aggregate/Builder.pm.new 2009-07-31 12:18:27.351400057 +0100
@@ -48,7 +48,7 @@
# This works because it's a singleton
my $builder = Test::Builder->new;
my $tests = $builder->current_test;
- $builder->_print("1..$tests\n");
+ $builder->_print("1..$tests\n") unless $builder->{Have_Output_Plan};
}
# The following is done to get around the fact that deferred plans are not