b168f4a2e9
This patch adds a .perlcriticrc (copied from qa-test-tools) and fixes almost all perlcrictic violations according to this .perlcriticrc The remaining violations are silenced out by appending a '## no critic' to the offending lines. They can still be seen by using the --force option of perlcritic This patch also modify t/00-testcritic.t to check all Perl files using the new .perlcriticrc. I'm not sure if this test script is still useful as it is now equivalent to `perlcritic --quiet .` and it looks like it is much slower (approximatively 5 times slower on my machine) Test plan: 1. Run `perlcritic --quiet .` from the root directory. It should output nothing 2. Run `perlcritic --quiet --force .`. It should output 7 errors (6 StringyEval, 1 BarewordFileHandles) 3. Run `TEST_QA=1 prove t/00-testcritic.t` 4. Read the patch. Check that all changes make sense and do not introduce undesired behaviour Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
57 lines
1.6 KiB
Perl
Executable file
57 lines
1.6 KiB
Perl
Executable file
#!/usr/bin/perl
|
|
|
|
# This file is part of Koha.
|
|
#
|
|
# Copyright (C) 2013 Horowhenua Library Trust
|
|
#
|
|
# 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 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.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with Koha; if not, see <http://www.gnu.org/licenses>.
|
|
|
|
use Modern::Perl;
|
|
use Test::More tests => 1;
|
|
use File::Find;
|
|
|
|
my @themes;
|
|
|
|
# OPAC themes
|
|
my $opac_dir = 'koha-tmpl/opac-tmpl';
|
|
opendir ( my $dh, $opac_dir ) or die "can't opendir $opac_dir: $!";
|
|
for my $theme ( grep { not /^\.|lib|js|xslt/ } readdir($dh) ) {
|
|
push @themes, "$opac_dir/$theme/en";
|
|
}
|
|
close $dh;
|
|
|
|
# STAFF themes
|
|
my $staff_dir = 'koha-tmpl/intranet-tmpl';
|
|
opendir ( $dh, $staff_dir ) or die "can't opendir $staff_dir: $!";
|
|
for my $theme ( grep { not /^\.|lib|js/ } readdir($dh) ) {
|
|
push @themes, "$staff_dir/$theme/en";
|
|
}
|
|
close $dh;
|
|
|
|
my @files;
|
|
find(
|
|
sub {
|
|
open my $fh, '<', $_ or die "Could not open $_: $!";
|
|
my @lines = sort grep /\_\(\'/, <$fh>;
|
|
push @files, { name => "$_", lines => \@lines } if @lines;
|
|
},
|
|
@themes
|
|
);
|
|
|
|
ok( !@files, "Files do not contain single quotes _(' " )
|
|
or diag(
|
|
"Files list: \n",
|
|
join( "\n",
|
|
map { $_->{name} . ': ' . join( ', ', @{ $_->{lines} } ) } @files )
|
|
);
|