#!/usr/bin/perl
# Copyright 2015 BibLibre
+#
# This file is part of Koha.
#
# Koha is free software; you can redistribute it and/or modify it under the
# terms of the GNU General Public License as published by the Free Software
-# Foundation; either version 2 of the License, or (at your option) any later
+# Foundation; either version 3 of the License, or (at your option) any later
# version.
#
# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
-# with Koha; if not, write to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+# with Koha; if not, see <http://www.gnu.org/licenses>.
=head1 NAME
=head1 SYNOPSIS
-./misc/devel/coverage.pl
+ misc/devel/coverage.pl [-h|--help]
+
+This script must be run from your Koha source tree.
=head1 DESCRIPTION
-This script make a cover on all files to see which modules are not tested yet
+This script runs all Koha tests and generates a coverage report on the
+cover_db directory.
+
+=cut
+
+=head1 OPTIONS
+
+=over 8
+
+=item B<-h|--help>
+
+prints this help text
+
+=back
=cut
use Modern::Perl;
+
use C4::Context;
+use Cwd;
+use Getopt::Long;
+use Pod::Usage;
-my $KOHA_PATH = C4::Context->config("intranetdir");
+my $help;
-chdir $KOHA_PATH;
+GetOptions(
+ "h|help" => \$help
+);
-eval{
- require Devel::Cover;
-};
+pod2usage(1) if defined $help;
-if ($@) {
- say "Devel::Cover needs to be installed";
- exit 1;
-}
+#Die if you are not in your Koha src directory
+my $KOHA_PATH = C4::Context->config("intranetdir");
+die "ERROR : You are not in Koha src/ directory"
+ unless $KOHA_PATH eq getcwd;
-#Delete old coverage
+# Delete old coverage
system("cover -delete");
#Start the cover
#Create the HTML output
system("cover");
+say("file://$KOHA_PATH/cover_db/coverage.html")
+ unless !-e "$KOHA_PATH/cover_db/coverage.html";
-say("file://$KOHA_PATH/cover_db/coverage.html");
\ No newline at end of file
+1;
\ No newline at end of file