Blame t/pod_coverage.t

Packit 95306a
#!/usr/bin/perl
Packit 95306a
Packit 95306a
#
Packit 95306a
# Test that the POD documentation is complete.
Packit 95306a
#
Packit 95306a
Packit 95306a
use strict;
Packit 95306a
use Test::More;
Packit 95306a
Packit 95306a
# Don't run tests for installs
Packit 95306a
unless ( $ENV{RELEASE_TESTING} ) {
Packit 95306a
   plan( skip_all => "Author tests not required for installation" );
Packit 95306a
}
Packit 95306a
Packit 95306a
eval "use Test::Pod::Coverage 1.00";
Packit 95306a
plan skip_all => "Test::Pod::Coverage 1.00 required for testing POD coverage"
Packit 95306a
  if $@;
Packit 95306a
Packit 95306a
eval "use File::Basename";
Packit 95306a
plan skip_all => "File::Basename required for testing POD coverage"
Packit 95306a
  if $@;
Packit 95306a
Packit 95306a
# If there is a file pod_coverage.ign, it should be a list of module
Packit 95306a
# name substrings to ignore (any module with any of these substrings
Packit 95306a
# will be ignored).
Packit 95306a
Packit 95306a
# Find the pod_coverage.ign file
Packit 95306a
Packit 95306a
my($testdir);
Packit 95306a
if (-f "$0") {
Packit 95306a
   my $COM = $0;
Packit 95306a
   $testdir   = dirname($COM);
Packit 95306a
   $testdir   = '.'  if (! $testdir);
Packit 95306a
} elsif (-d 't') {
Packit 95306a
   $testdir   = 't';
Packit 95306a
} else {
Packit 95306a
   $testdir   = '.';
Packit 95306a
}
Packit 95306a
Packit 95306a
my @ign = ();
Packit 95306a
if (-f "$testdir/pod_coverage.ign") {
Packit 95306a
   open(IN,"$testdir/pod_coverage.ign");
Packit 95306a
   @ign = <IN>;
Packit 95306a
   close(IN);
Packit 95306a
   chomp(@ign);
Packit 95306a
}
Packit 95306a
Packit 95306a
chdir("..")  if ($testdir eq '.');
Packit 95306a
Packit 95306a
if (@ign) {
Packit 95306a
Packit 95306a
   my @mod = all_modules();
Packit 95306a
Packit 95306a
   MOD:
Packit 95306a
   foreach my $mod (@mod) {
Packit 95306a
      foreach my $ign (@ign) {
Packit 95306a
         next MOD  if ($mod =~ /\Q$ign\E/);
Packit 95306a
      }
Packit 95306a
      pod_coverage_ok($mod);
Packit 95306a
   }
Packit 95306a
   done_testing();
Packit 95306a
Packit 95306a
} else {
Packit 95306a
   all_pod_coverage_ok();
Packit 95306a
}