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

Reply via email to