9 # Somewhere we chdir and can't load any more modules...
11 if ($^O eq 'MSWin32') {
21 package My::Pod::Checker;
23 use parent 'Pod::Checker';
25 use vars '@errors'; # a bad, bad hack!
33 ++($self->{_NUM_ERRORS})
34 if(!$opts || ($opts->{-severity} && $opts->{-severity} eq 'ERROR'));
35 ++($self->{_NUM_WARNINGS})
36 if(!$opts || ($opts->{-severity} && $opts->{-severity} eq 'WARNING'));
44 or die "Couldn't chdir to ..: $!";
45 chomp( my @d = <DATA> );
49 return unless $File::Find::name =~ /(\.(pod|pm|pl))$/i;
50 push @files, $File::Find::name;
52 }, grep { m!/$! } @d );
53 push @files, map { chomp; glob($_) } grep { ! m!/$! } @d;
54 @files = sort @files; # so we get consistent results
59 local @My::Pod::Checker::errors;
60 my $checker = My::Pod::Checker->new(-quiet => 1);
61 $checker->parse_from_file($filename, undef);
62 my $error_count = $checker->num_errors();
64 if(! ok $error_count <= 0, "POD of $filename") {
65 diag( "'$filename' contains POD errors" );
66 diag sprintf "%s %s: %s at line %s",
67 $_->{-severity}, $_->{-file}, $_->{-msg}, $_->{-line}
68 for @My::Pod::Checker::errors;
72 plan tests => scalar @files;