File tree Expand file tree Collapse file tree 4 files changed +25
-3
lines changed Expand file tree Collapse file tree 4 files changed +25
-3
lines changed Original file line number Diff line number Diff line change @@ -151,6 +151,11 @@ sub coverage {
151
151
152
152
my %symbols = map { $_ => 0 } $self -> _get_syms($package );
153
153
154
+ if (!%symbols && $self -> {why_unrated }) {
155
+ # _get_syms failed violently
156
+ return ;
157
+ }
158
+
154
159
print " tying shoelaces\n " if TRACE_ALL;
155
160
for my $pod (@$pods ) {
156
161
$symbols {$pod } = 1 if exists $symbols {$pod };
@@ -301,8 +306,11 @@ sub _get_syms {
301
306
302
307
print " requiring '$package '\n " if TRACE_ALL;
303
308
eval qq{ require $package } ;
304
- print " require failed with $@ \n " if TRACE_ALL and $@ ;
305
- return if $@ ;
309
+ if ($@ ) {
310
+ print " require failed with $@ \n " if TRACE_ALL;
311
+ $self -> {why_unrated } = " requiring '$package ' failed" ;
312
+ return ;
313
+ }
306
314
307
315
print " walking symbols\n " if TRACE_ALL;
308
316
my $syms = Devel::Symdump-> new($package );
Original file line number Diff line number Diff line change 1
1
# !/usr/bin/perl -w
2
2
use strict;
3
- use Test::More tests => 33 ;
3
+ use Test::More tests => 36 ;
4
4
use lib ' t/lib' ;
5
5
6
6
BEGIN {
@@ -70,6 +70,12 @@ isa_ok( $obj, 'Pod::Coverage' );
70
70
is( $obj -> coverage, undef , " can't deduce for Simple8" );
71
71
is( $obj -> why_unrated, ' no public symbols defined' , ' why is correct' );
72
72
73
+ $obj = Pod::Coverage-> new(package => ' Simple9' );
74
+ isa_ok($obj , ' Pod::Coverage' );
75
+
76
+ is($obj -> coverage, undef , ' Simple9 has no coverage' );
77
+ is($obj -> why_unrated, " requiring 'Simple9' failed" , ' why is correct' );
78
+
73
79
$obj = Pod::Coverage-> new( package => ' Earle' );
74
80
is( $obj -> coverage, 1, " earle is covered" );
75
81
is( scalar $obj -> covered, 2 );
Original file line number Diff line number Diff line change 1
1
package Simple8 ;
2
+ 1;
2
3
3
4
=item docs
4
5
Original file line number Diff line number Diff line change
1
+ package Simple9 ;
2
+
3
+ use Foo::Invalid;
4
+
5
+ =item docs
6
+
7
+ =cut
You can’t perform that action at this time.
0 commit comments