From 5f7b1a58f0f91a759adab9622b35db1ed3c3dd54 Mon Sep 17 00:00:00 2001 From: Colin Campbell Date: Tue, 15 Mar 2011 14:40:23 +0100 Subject: [PATCH] Bug 5485: Add script to run Test::Perl::Critic Tests are run if TEST_QA environment variable is set and Test::Perl::Critic is installed e.g. TEST_QA=1 prove =l t/00-testcritic.t Signed-off-by: Julian Maurice Signed-off-by: Chris Cormack --- t/00-testcritic.t | 37 +++++++++++++++++++++++++++++++++++++ t/perlcriticrc | 1 + 2 files changed, 38 insertions(+) create mode 100755 t/00-testcritic.t create mode 100644 t/perlcriticrc diff --git a/t/00-testcritic.t b/t/00-testcritic.t new file mode 100755 index 0000000000..65f2288c76 --- /dev/null +++ b/t/00-testcritic.t @@ -0,0 +1,37 @@ +#!/usr/bin/env perl +use strict; +use warnings; + +# This script can be used to run perlcritic on perl files in koha +# It calls its own custom perlcriticrc +# The script is purely optional requiring Test::Perl::Critic to be installed +# and the environment variable TEST_QA to be set +# At present only the directories in @dirs will pass the tests in 'Gentle' mode + +use File::Spec; +use Test::More; +use English qw(-no_match_vars); + +my @all_koha_dirs = qw( acqui admin authorities basket C4 catalogue cataloguing circ debian errors +labels members misc offline_circ opac patroncards reports reserve reviews rotating_collections +serials sms suggestion t tags test tools virtualshelves); + +my @dirs = qw( basket circ debian errors offline_circ reserve reviews rotating_collections +serials sms virtualshelves ); + +if ( not $ENV{TEST_QA} ) { + my $msg = 'Author test. Set $ENV{TEST_QA} to a true value to run'; + plan( skip_all => $msg ); +} + +eval { require Test::Perl::Critic; }; + +if ( $EVAL_ERROR ) { + my $msg = 'Test::Perl::Critic required to criticise code,'; + plan( skip_all => $msg ); +} + +my $rcfile = File::Spec->catfile( 't', 'perlcriticrc' ); +Test::Perl::Critic->import( -profile => $rcfile); +all_critic_ok(@dirs); + diff --git a/t/perlcriticrc b/t/perlcriticrc new file mode 100644 index 0000000000..53a34a6ef7 --- /dev/null +++ b/t/perlcriticrc @@ -0,0 +1 @@ +exclude = Miscellanea::RequireRcsKeywords