Bug 13899: (QA followup) POD and usage message fixes
[koha-ffzg.git] / misc / devel / coverage.pl
index 804fc8d..3dabae7 100755 (executable)
@@ -1,20 +1,20 @@
 #!/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
 
@@ -22,31 +22,50 @@ coverage.pl
 
 =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
@@ -54,5 +73,7 @@ system("PERL5OPT=-MDevel::Cover /usr/bin/prove -r t/");
 
 #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