#!/usr/bin/perl -w

# Run this to get a coverage analysis of the embedded documentation

use Pod::Coverage;
use lib 'lib';

print scalar localtime()," Starting analysis:\n\n";

my $covered = 0; my $uncovered; my $count = 0;
open FILE, 'MANIFEST' or die "Can't read MANIFEST: $!";
while (<FILE>)
  {
  chomp;
  my ($file) = split /[\s\t]/,$_;
  next unless $file =~ /^lib.*\.pm$/;
  $file =~ s/^lib\///;			# remove lib and .pm
  $file =~ s/\.pm$//;
  $file =~ s/\//::/g;			# / => ::
  my $rc = Pod::Coverage->new( package => $file );
  $covered += $rc->covered(); 
  $uncovered += $rc->uncovered(); 
  $count ++;
  $c = $rc->coverage() || 0; 
  $c = int($c * 10000)/100;
  print "$file has a doc coverage of $c%.\n";
  my @naked = $rc->naked();
  if (@naked > 0)
    {
    print "Uncovered routines are:\n";
    print " ",join("\n ",sort @naked),"\n";	# sort by name
						# could sort by line_num
    }
  print "\n";
  }

my $total = $covered+$uncovered;
$average = $uncovered/$total if $total > 0;

print "Summary: Tested $count files, average pod coverage is: ";
print int(100*$average)/100,"%\n" if $total > 0;
print "unknown\n" if $total == 0;
print "\n";
