Paul Johnson wrote:
> That's odd. I would have expected at least three "skipped" messages, or
> did not just not send them?
I sent the complete output.
> Urgh. That probably indicates a crash while Devel::Cover is trying to
> collect the last of the data. Is is possible for you to test under
> 5.8.x?
Not in a little while. But I have a small test case (eval.pl):
use Test::More;
plan tests => 1;
eval { die "X\n" };
pass( $@ );
Here the output of perl eval.pl:
1..1
ok 1 - X
and here the output of perl -MDevel::Cover eval.pl:
1..1
ok 1 - X
# Looks like your test died just after 1.
Now, I fake 'use Test::More;' (eval2.pl):
sub plan { print "*** @_\n"}
sub pass { print "*** @_\n"}
$SIG{__DIE__} = sub {
print "!!! @_\n";
for( my $stack = 0; my $sub = (CORE::caller($stack))[3]; $stack++ ) {
print " !!! $stack $sub\n";
}
};
plan tests => 1;
eval { die "X\n" };
pass( $@ );
The $SIG{__DIE__} handler fakes that of Test::Builder 0.17 line 1285.
Here the output of perl eval2.pl:
*** tests 1
!!! X
!!! 0 main::__ANON__
!!! 1 (eval)
*** X
and here the output of perl -MDevel::Cover eval2.pl:
*** tests 1
!!! X
!!! 0 main::__ANON__[eval2.pl:8]
*** X
Please note that !!! 1 (eval) is missing, which leads to that dubious
# Looks like your test died just after ...
Steffen