View | Details | Raw Unified | Return to bug 16008
Collapse All | Expand All

(-)a/QohA/File.pm (+40 lines)
Lines 5-10 use Moo; Link Here
5
use File::Basename;
5
use File::Basename;
6
use Cwd 'abs_path';
6
use Cwd 'abs_path';
7
use IPC::Cmd qw( run );
7
use IPC::Cmd qw( run );
8
use QohA::Report;
8
9
9
has 'path' => (
10
has 'path' => (
10
    is => 'ro',
11
    is => 'ro',
Lines 28-33 has 'pass' => ( Link Here
28
    is => 'rw',
29
    is => 'rw',
29
    default => sub{0},
30
    default => sub{0},
30
);
31
);
32
has 'report' => (
33
    is => 'rw',
34
    default => sub {
35
        QohA::Report->new();
36
    },
37
);
38
has 'git_statuses' => (
39
    is => 'rw',
40
);
31
41
32
sub _build_filename {
42
sub _build_filename {
33
    my ($self) = @_;
43
    my ($self) = @_;
Lines 40-48 sub _build_abspath { Link Here
40
    return $abs_path;
50
    return $abs_path;
41
}
51
}
42
52
53
sub run_checks {
54
    my ($self, $cnt) = @_;
55
56
    my $r;
57
58
    # Check git manipulations
59
    $r = $self->check_git_manipulation();
60
    $self->add_to_report('git manipulation', $r);
61
62
    $self->pass($self->pass + 1);
63
}
64
43
sub check_forbidden_patterns {
65
sub check_forbidden_patterns {
44
    my ($self, $cnt, $patterns) = @_;
66
    my ($self, $cnt, $patterns) = @_;
45
67
68
    return 0 unless -e $self->path;
69
46
    # For the first pass, I don't want to launch any test.
70
    # For the first pass, I don't want to launch any test.
47
    return 1 if $self->pass == 0;
71
    return 1 if $self->pass == 0;
48
72
Lines 115-120 sub check_spelling { Link Here
115
      : 1;
139
      : 1;
116
}
140
}
117
141
142
sub check_git_manipulation {
143
    my ($self) = @_;
144
145
    return 1 if $self->pass == 0;
146
147
    my @errors;
148
149
    if ( $self->{git_statuses} =~ m|A| and $self->{git_statuses} =~ m|D| ) {
150
        push @errors, "The file has been added and deleted in the same patchset";
151
    }
152
153
    return @errors
154
      ? \@errors
155
      : 1;
156
}
157
118
sub add_to_report {
158
sub add_to_report {
119
    my ($self, $name, $error) = @_;
159
    my ($self, $name, $error) = @_;
120
    $self->report->add(
160
    $self->report->add(
(-)a/QohA/File/Perl.pm (-10 / +1 lines)
Lines 13-31 use IPC::Cmd qw[can_run run]; Link Here
13
use Cwd qw( abs_path );
13
use Cwd qw( abs_path );
14
14
15
use QohA::Git;
15
use QohA::Git;
16
use QohA::Report;
17
16
18
17
19
our $pc_rc =  dirname( abs_path( $INC{'QohA/File/Perl.pm'} ) ) . '/../../perlcriticrc';
18
our $pc_rc =  dirname( abs_path( $INC{'QohA/File/Perl.pm'} ) ) . '/../../perlcriticrc';
20
die "Koha's $pc_rc file is missing..." unless  ( -e  $pc_rc );
19
die "Koha's $pc_rc file is missing..." unless  ( -e  $pc_rc );
21
20
22
has 'report' => (
23
    is => 'rw',
24
    default => sub {
25
        QohA::Report->new( {type => 'perl'} );
26
    },
27
);
28
29
sub run_checks {
21
sub run_checks {
30
    my ($self, $cnt) = @_;
22
    my ($self, $cnt) = @_;
31
23
Lines 51-58 sub run_checks { Link Here
51
    $r = $self->check_spelling();
43
    $r = $self->check_spelling();
52
    $self->SUPER::add_to_report('spelling', $r);
44
    $self->SUPER::add_to_report('spelling', $r);
53
45
54
46
    return $self->SUPER::run_checks($cnt);
55
    $self->pass($self->pass + 1);
56
}
47
}
57
48
58
sub check_critic {
49
sub check_critic {
(-)a/QohA/File/Specific/Kohastructure.pm (-9 / +3 lines)
Lines 2-21 package QohA::File::Specific::Kohastructure; Link Here
2
2
3
use Modern::Perl;
3
use Modern::Perl;
4
use Moo;
4
use Moo;
5
use QohA::Report;
6
extends 'QohA::File';
5
extends 'QohA::File';
7
6
8
has 'report' => (
9
    is => 'rw',
10
    default => sub {
11
        QohA::Report->new( {type => 'specific'} );
12
    },
13
);
14
15
sub run_checks {
7
sub run_checks {
16
    my ($self) = @_;
8
    my ($self, $cnt) = @_;
17
    my @r = $self->check_charset_collate();
9
    my @r = $self->check_charset_collate();
18
    $self->SUPER::add_to_report('charset_collate', \@r);
10
    $self->SUPER::add_to_report('charset_collate', \@r);
11
12
    return $self->SUPER::run_checks($cnt);
19
}
13
}
20
14
21
sub check_charset_collate {
15
sub check_charset_collate {
(-)a/QohA/File/Specific/OpacCss.pm (-9 / +3 lines)
Lines 5-24 use Moo; Link Here
5
use IPC::Cmd qw[run];
5
use IPC::Cmd qw[run];
6
use File::Basename;
6
use File::Basename;
7
use File::Temp qw[tempfile];
7
use File::Temp qw[tempfile];
8
use QohA::Report;
9
extends 'QohA::File';
8
extends 'QohA::File';
10
9
11
has 'report' => (
12
    is => 'rw',
13
    default => sub {
14
        QohA::Report->new( {type => 'specific'} );
15
    },
16
);
17
18
sub run_checks {
10
sub run_checks {
19
    my ($self) = @_;
11
    my ($self, $cnt) = @_;
20
    my @r = $self->check_css_less_sync();
12
    my @r = $self->check_css_less_sync();
21
    $self->SUPER::add_to_report('css_and_less_in_sync', \@r);
13
    $self->SUPER::add_to_report('css_and_less_in_sync', \@r);
14
15
    return $self->SUPER::run_checks($cnt);
22
}
16
}
23
17
24
sub check_css_less_sync {
18
sub check_css_less_sync {
(-)a/QohA/File/Specific/Sysprefs.pm (-9 / +3 lines)
Lines 2-21 package QohA::File::Specific::Sysprefs; Link Here
2
2
3
use Modern::Perl;
3
use Modern::Perl;
4
use Moo;
4
use Moo;
5
use QohA::Report;
6
extends 'QohA::File';
5
extends 'QohA::File';
7
6
8
has 'report' => (
9
    is => 'rw',
10
    default => sub {
11
        QohA::Report->new( {type => 'specific'} );
12
    },
13
);
14
15
sub run_checks {
7
sub run_checks {
16
    my ($self) = @_;
8
    my ($self, $cnt) = @_;
17
    my @r = $self->check_sysprefs_order();
9
    my @r = $self->check_sysprefs_order();
18
    $self->SUPER::add_to_report('sysprefs_order', \@r);
10
    $self->SUPER::add_to_report('sysprefs_order', \@r);
11
12
    return $self->SUPER::run_checks($cnt);
19
}
13
}
20
14
21
sub check_sysprefs_order {
15
sub check_sysprefs_order {
(-)a/QohA/File/Template.pm (-9 / +1 lines)
Lines 8-24 extends 'QohA::File'; Link Here
8
use IPC::Cmd qw[can_run run];
8
use IPC::Cmd qw[can_run run];
9
use File::Spec;
9
use File::Spec;
10
10
11
use QohA::Report;
12
use C4::TTParser;
11
use C4::TTParser;
13
use Template;
12
use Template;
14
13
15
has 'report' => (
16
    is => 'rw',
17
    default => sub {
18
        QohA::Report->new( {type => 'template'} );
19
    },
20
);
21
22
sub run_checks {
14
sub run_checks {
23
    my ($self, $cnt) = @_;
15
    my ($self, $cnt) = @_;
24
    my $r;
16
    my $r;
Lines 38-44 sub run_checks { Link Here
38
    $r = $self->check_spelling();
30
    $r = $self->check_spelling();
39
    $self->SUPER::add_to_report('spelling', $r);
31
    $self->SUPER::add_to_report('spelling', $r);
40
32
41
    $self->pass($self->pass + 1);
33
    return $self->SUPER::run_checks($cnt);
42
}
34
}
43
35
44
sub check_tt_valid {
36
sub check_tt_valid {
(-)a/QohA/File/XML.pm (-9 / +3 lines)
Lines 4-23 use Modern::Perl; Link Here
4
use Moo;
4
use Moo;
5
use XML::LibXML;
5
use XML::LibXML;
6
6
7
use QohA::Report;
8
extends 'QohA::File';
7
extends 'QohA::File';
9
8
10
has 'report' => (
11
    is => 'rw',
12
    default => sub {
13
        QohA::Report->new( {type => 'xml'} );
14
    },
15
);
16
17
sub run_checks {
9
sub run_checks {
18
    my ($self) = @_;
10
    my ($self, $cnt) = @_;
19
    my @r = $self->check_parse_xml();
11
    my @r = $self->check_parse_xml();
20
    $self->SUPER::add_to_report('xml_valid', \@r);
12
    $self->SUPER::add_to_report('xml_valid', \@r);
13
14
    return $self->SUPER::run_checks($cnt);
21
}
15
}
22
16
23
sub check_parse_xml {
17
sub check_parse_xml {
(-)a/QohA/File/YAML.pm (-9 / +3 lines)
Lines 4-23 use Modern::Perl; Link Here
4
use Moo;
4
use Moo;
5
use YAML;
5
use YAML;
6
6
7
use QohA::Report;
8
extends 'QohA::File';
7
extends 'QohA::File';
9
8
10
has 'report' => (
11
    is => 'rw',
12
    default => sub {
13
        QohA::Report->new( {type => 'yaml'} );
14
    },
15
);
16
17
sub run_checks {
9
sub run_checks {
18
    my ($self) = @_;
10
    my ($self, $cnt) = @_;
19
    my @r = $self->check_parse_yaml();
11
    my @r = $self->check_parse_yaml();
20
    $self->SUPER::add_to_report('yaml_valid', \@r);
12
    $self->SUPER::add_to_report('yaml_valid', \@r);
13
14
    return $self->SUPER::run_checks($cnt);
21
}
15
}
22
16
23
sub check_parse_yaml {
17
sub check_parse_yaml {
(-)a/QohA/Files.pm (-55 / +23 lines)
Lines 4-9 use Moo; Link Here
4
use Modern::Perl;
4
use Modern::Perl;
5
use List::MoreUtils qw(uniq);
5
use List::MoreUtils qw(uniq);
6
6
7
use QohA::File;
7
use QohA::File::XML;
8
use QohA::File::XML;
8
use QohA::File::Perl;
9
use QohA::File::Perl;
9
use QohA::File::Template;
10
use QohA::File::Template;
Lines 19-82 has 'files' => ( Link Here
19
sub BUILD {
20
sub BUILD {
20
    my ( $self, $param ) = @_;
21
    my ( $self, $param ) = @_;
21
    my @files = @{$param->{files}};
22
    my @files = @{$param->{files}};
22
    @files = uniq @files;
23
    $self->files([]);
23
    $self->files([]);
24
    for my $file ( @files ) {
24
    for my $f ( @files ) {
25
        push @{ $self->files }, QohA::File::XML->new(path => $file)
25
        my $filepath = $f->{filepath};
26
            if $file =~ qr/\.xml$|\.xsl$|\.xslt$/i;
26
        my $file;
27
        push @{ $self->files }, QohA::File::Perl->new(path => $file)
27
        if ( $filepath =~ qr/\.xml$|\.xsl$|\.xslt$/i ) {
28
            if $file =~ qr/\.pl$|\.pm$|\.t$/i;
28
            $file = QohA::File::XML->new(path => $filepath);
29
        push @{ $self->files }, QohA::File::Template->new(path => $file)
29
        } elsif ( $filepath =~ qr/\.pl$|\.pm$|\.t$/i ) {
30
            if $file =~ qr/\.tt$|\.inc$/i;
30
            $file = QohA::File::Perl->new(path => $filepath);
31
        push @{ $self->files }, QohA::File::YAML->new(path => $file)
31
        } elsif ( $filepath =~ qr/\.tt$|\.inc$/i ) {
32
            if $file =~ qr/\.yml$|\.yaml$/i;
32
            $file = QohA::File::Template->new(path => $filepath);
33
        push @{ $self->files }, QohA::File::Specific::Sysprefs->new(path => $file)
33
        } elsif ( $filepath =~ qr/\.yml$|\.yaml$/i ) {
34
            if $file =~ qr/sysprefs\.sql$/;
34
            $file = QohA::File::YAML->new(path => $filepath);
35
        push @{ $self->files }, QohA::File::Specific::Kohastructure->new(path => $file)
35
        } elsif ( $filepath =~ qr/sysprefs\.sql$/ ) {
36
            if $file =~ qr/kohastructure\.sql$/;
36
            $file = QohA::File::Specific::Sysprefs->new(path => $filepath);
37
        push @{ $self->files }, QohA::File::Specific::OpacCss->new(path => $file)
37
        } elsif ( $filepath =~ qr/kohastructure\.sql$/ ) {
38
            if $file =~ qr/opac\.css$|opac\.less$/;
38
            $file = QohA::File::Specific::Kohastructure->new(path => $filepath);
39
    }
39
        } elsif ( $filepath =~ qr/opac\.css$|opac\.less$/ ) {
40
}
40
            $file = QohA::File::Specific::OpacCss->new(path => $filepath);
41
41
        } elsif ( $f->{statuses} =~ m|A| and $f->{statuses} =~ m|D| ) {
42
sub filter {
42
            $file = QohA::File->new(path => $filepath);
43
    my ($self, $params) = @_;
44
    my $file_types = $params->{extension} // [];
45
    my $file_names = $params->{name} // [];
46
47
    die "QohA::Files::filter > Bad call: extension and name params cannot be filled together"
48
        if scalar( @$file_types ) and scalar( @$file_names );
49
    my @wanted_files;
50
51
    for my $type ( @$file_types ) {
52
        for my $f ( @{$self->files} ) {
53
            if ( $type =~ /perl/ ) {
54
                push @wanted_files, $f
55
                  if ref $f eq 'QohA::File::Perl';
56
            }
57
            elsif ( $type =~ /xml/ ) {
58
                push @wanted_files, $f
59
                  if ref $f eq 'QohA::File::XML';
60
            }
61
            elsif ( $type =~ /tt/ ) {
62
                push @wanted_files, $f
63
                  if ref $f eq 'QohA::File::Template';
64
            }
65
            elsif ( $type =~ /yaml/ ) {
66
                push @wanted_files, $f
67
                  if ref $f eq 'QohA::File::YAML';
68
            }
69
        }
43
        }
44
        next unless $file;
45
        $file->git_statuses( $f->{statuses} );
46
        push @{ $self->files}, $file;
70
    }
47
    }
71
72
    if ( @$file_names ) {
73
        for my $f ( @{$self->files} ) {
74
            push @wanted_files, $f
75
                if grep { $_ eq $f->filename } @$file_names;
76
        }
77
    }
78
79
    return @wanted_files;
80
}
48
}
81
49
82
1;
50
1;
(-)a/QohA/Git.pm (-8 / +6 lines)
Lines 11-34 has 'branchname' => ( Link Here
11
);
11
);
12
12
13
# this sub returns all modified files, for testing on
13
# this sub returns all modified files, for testing on
14
# and ignores deleted or moved files
15
sub log {
14
sub log {
16
    my ($self, $cnt) = @_;
15
    my ($self, $cnt) = @_;
17
16
18
    #skip deleted files..
17
    my @r = qx{git log --oneline --name-status -$cnt};
19
    my @r = qx{git log --oneline --numstat  --diff-filter='ACMRTUXB' -$cnt};
18
    my $files = {};
20
    my @r1;
21
19
22
    # oops, lets strip out deleted or moved files, from selection
23
    foreach my $rr ( @r ) {
20
    foreach my $rr ( @r ) {
24
        chomp $rr;
21
        chomp $rr;
25
        my @cols = split '\t', $rr ;
22
        my @cols = split '\t', $rr ;
26
23
27
        # ignore lines that are commit shas, not filename
24
        # ignore lines that are commit shas, not filename
28
        next if not defined $cols[2];
25
        next if not defined $cols[1];
29
        push @r1, $cols[2];
26
        $files->{$cols[1]} .= $cols[0];
30
    }
27
    }
31
    return \@r1 ;
28
29
    return [ map { { filepath => $_, statuses => $files->{$_} } } keys %$files ];
32
}
30
}
33
31
34
sub diff_log {
32
sub diff_log {
(-)a/QohA/Report.pm (-3 lines)
Lines 4-12 use Modern::Perl; Link Here
4
use Moo;
4
use Moo;
5
use List::Compare;
5
use List::Compare;
6
6
7
has 'type' => (
8
    is => 'ro',
9
);
10
has 'file' => (
7
has 'file' => (
11
    is => 'rw',
8
    is => 'rw',
12
);
9
);
(-)a/TODO (-5 lines)
Lines 1-5 Link Here
1
Bugs:
2
- When a patch just removes files, the $git->log method does not return the
3
right list of files. We don't want to retrieve deleted files so we don't want
4
to add the 'D' filter. Maybe should we add a new test for testing this special
5
case. (i.e. bug 10459)
(-)a/koha-qa.pl (-10 / +3 lines)
Lines 60-80 eval { Link Here
60
60
61
    print QohA::Git::log_as_string($num_of_commits);
61
    print QohA::Git::log_as_string($num_of_commits);
62
62
63
    my $modified_files = QohA::Files->new( { files => $git->log($num_of_commits) } );
63
    my $log_files = $git->log($num_of_commits);
64
    my $modified_files = QohA::Files->new( { files => $log_files } );
64
65
65
    $git->delete_branch( 'qa-prev-commit' );
66
    $git->delete_branch( 'qa-prev-commit' );
66
    $git->create_and_change_branch( 'qa-prev-commit' );
67
    $git->create_and_change_branch( 'qa-prev-commit' );
67
    $git->reset_hard_prev( $num_of_commits );
68
    $git->reset_hard_prev( $num_of_commits );
68
69
69
    my @files = (
70
    my @files = @{ $modified_files->files };
70
        $modified_files->filter( { extension => [ qw< perl tt xml yaml > ] } ),
71
        $modified_files->filter( { name => [ qw< sysprefs.sql > ] } ),
72
        $modified_files->filter( { name => [ qw< kohastructure.sql > ] } ),
73
        $modified_files->filter( { name => [ qw< opac.css > ] } ),
74
        $modified_files->filter( { name => [ qw< opac.less > ] } ),
75
    );
76
77
78
    my $i = 1;
71
    my $i = 1;
79
    say "Processing files before patches";
72
    say "Processing files before patches";
80
    for my $f ( @files ) {
73
    for my $f ( @files ) {
(-)a/t/Perl.t (-8 / +23 lines)
Lines 38-55 eval { Link Here
38
38
39
    $CWD = $git_repo;
39
    $CWD = $git_repo;
40
    my $qoha_git = QohA::Git->new();
40
    my $qoha_git = QohA::Git->new();
41
    my $modified_files = QohA::Files->new( { files => $qoha_git->log($num_of_commits) } );
41
    my $log_files = $qoha_git->log($num_of_commits);
42
42
    my $modified_files = QohA::Files->new( { files => $log_files } );
43
43
44
    $qoha_git->delete_branch( 'qa-prev-commit_t' );
44
    $qoha_git->delete_branch( 'qa-prev-commit_t' );
45
    $qoha_git->create_and_change_branch( 'qa-prev-commit_t' );
45
    $qoha_git->create_and_change_branch( 'qa-prev-commit_t' );
46
    $qoha_git->reset_hard_prev( $num_of_commits );
46
    $qoha_git->reset_hard_prev( $num_of_commits );
47
47
48
    my @files = (
48
    my @files = @{ $modified_files->files };
49
        $modified_files->filter( { extension => [ qw< perl tt xml yaml > ] } ),
50
        $modified_files->filter( { name => [ qw< sysprefs.sql > ] } ),
51
        $modified_files->filter( { name => [ qw< kohastructure.sql > ] } ),
52
    );
53
    for my $f ( @files ) {
49
    for my $f ( @files ) {
54
        $f->run_checks();
50
        $f->run_checks();
55
    }
51
    }
Lines 114-124 eval { Link Here
114
EOL
110
EOL
115
    my $r_v1_expected = <<EOL;
111
    my $r_v1_expected = <<EOL;
116
 $STATUS_KO	i_fail_yaml.yaml
112
 $STATUS_KO	i_fail_yaml.yaml
113
   $STATUS_OK	  git manipulation
117
   $STATUS_KO	  yaml_valid
114
   $STATUS_KO	  yaml_valid
118
115
119
 $STATUS_KO	perl/Authority.pm
116
 $STATUS_KO	perl/Authority.pm
120
   $STATUS_OK	  critic
117
   $STATUS_OK	  critic
121
   $STATUS_KO	  forbidden patterns
118
   $STATUS_KO	  forbidden patterns
119
   $STATUS_OK	  git manipulation
122
   $STATUS_OK	  pod
120
   $STATUS_OK	  pod
123
   $STATUS_OK	  spelling
121
   $STATUS_OK	  spelling
124
   $STATUS_OK	  valid
122
   $STATUS_OK	  valid
Lines 126-131 EOL Link Here
126
 $STATUS_OK	perl/i_dont_fail_spelling.pl
124
 $STATUS_OK	perl/i_dont_fail_spelling.pl
127
   $STATUS_OK	  critic
125
   $STATUS_OK	  critic
128
   $STATUS_OK	  forbidden patterns
126
   $STATUS_OK	  forbidden patterns
127
   $STATUS_OK	  git manipulation
129
   $STATUS_OK	  pod
128
   $STATUS_OK	  pod
130
   $STATUS_OK	  spelling
129
   $STATUS_OK	  spelling
131
   $STATUS_OK	  valid
130
   $STATUS_OK	  valid
Lines 133-138 EOL Link Here
133
 $STATUS_KO	perl/i_fail_compil.pl
132
 $STATUS_KO	perl/i_fail_compil.pl
134
   $STATUS_OK	  critic
133
   $STATUS_OK	  critic
135
   $STATUS_OK	  forbidden patterns
134
   $STATUS_OK	  forbidden patterns
135
   $STATUS_OK	  git manipulation
136
   $STATUS_OK	  pod
136
   $STATUS_OK	  pod
137
   $STATUS_OK	  spelling
137
   $STATUS_OK	  spelling
138
   $STATUS_KO	  valid
138
   $STATUS_KO	  valid
Lines 140-145 EOL Link Here
140
 $STATUS_KO	perl/i_fail_critic.pl
140
 $STATUS_KO	perl/i_fail_critic.pl
141
   $STATUS_KO	  critic
141
   $STATUS_KO	  critic
142
   $STATUS_OK	  forbidden patterns
142
   $STATUS_OK	  forbidden patterns
143
   $STATUS_OK	  git manipulation
143
   $STATUS_OK	  pod
144
   $STATUS_OK	  pod
144
   $STATUS_OK	  spelling
145
   $STATUS_OK	  spelling
145
   $STATUS_OK	  valid
146
   $STATUS_OK	  valid
Lines 147-152 EOL Link Here
147
 $STATUS_KO	perl/i_fail_license.pl
148
 $STATUS_KO	perl/i_fail_license.pl
148
   $STATUS_OK	  critic
149
   $STATUS_OK	  critic
149
   $STATUS_KO	  forbidden patterns
150
   $STATUS_KO	  forbidden patterns
151
   $STATUS_OK	  git manipulation
150
   $STATUS_OK	  pod
152
   $STATUS_OK	  pod
151
   $STATUS_OK	  spelling
153
   $STATUS_OK	  spelling
152
   $STATUS_OK	  valid
154
   $STATUS_OK	  valid
Lines 154-159 EOL Link Here
154
 $STATUS_KO	perl/i_fail_patterns.pl
156
 $STATUS_KO	perl/i_fail_patterns.pl
155
   $STATUS_OK	  critic
157
   $STATUS_OK	  critic
156
   $STATUS_KO	  forbidden patterns
158
   $STATUS_KO	  forbidden patterns
159
   $STATUS_OK	  git manipulation
157
   $STATUS_OK	  pod
160
   $STATUS_OK	  pod
158
   $STATUS_OK	  spelling
161
   $STATUS_OK	  spelling
159
   $STATUS_KO	  valid
162
   $STATUS_KO	  valid
Lines 161-166 EOL Link Here
161
 $STATUS_KO	perl/i_fail_spelling.pl
164
 $STATUS_KO	perl/i_fail_spelling.pl
162
   $STATUS_OK	  critic
165
   $STATUS_OK	  critic
163
   $STATUS_OK	  forbidden patterns
166
   $STATUS_OK	  forbidden patterns
167
   $STATUS_OK	  git manipulation
164
   $STATUS_OK	  pod
168
   $STATUS_OK	  pod
165
   $STATUS_KO	  spelling
169
   $STATUS_KO	  spelling
166
   $STATUS_OK	  valid
170
   $STATUS_OK	  valid
Lines 168-173 EOL Link Here
168
 $STATUS_KO	perl/i_fail_template_name.pl
172
 $STATUS_KO	perl/i_fail_template_name.pl
169
   $STATUS_OK	  critic
173
   $STATUS_OK	  critic
170
   $STATUS_KO	  forbidden patterns
174
   $STATUS_KO	  forbidden patterns
175
   $STATUS_OK	  git manipulation
171
   $STATUS_OK	  pod
176
   $STATUS_OK	  pod
172
   $STATUS_OK	  spelling
177
   $STATUS_OK	  spelling
173
   $STATUS_OK	  valid
178
   $STATUS_OK	  valid
Lines 175-180 EOL Link Here
175
 $STATUS_KO	perl/i_fail_unused_declared_variables.pl
180
 $STATUS_KO	perl/i_fail_unused_declared_variables.pl
176
   $STATUS_KO	  critic
181
   $STATUS_KO	  critic
177
   $STATUS_OK	  forbidden patterns
182
   $STATUS_OK	  forbidden patterns
183
   $STATUS_OK	  git manipulation
178
   $STATUS_OK	  pod
184
   $STATUS_OK	  pod
179
   $STATUS_OK	  spelling
185
   $STATUS_OK	  spelling
180
   $STATUS_OK	  valid
186
   $STATUS_OK	  valid
Lines 182-187 EOL Link Here
182
 $STATUS_OK	perl/i_m_ok.pl
188
 $STATUS_OK	perl/i_m_ok.pl
183
   $STATUS_OK	  critic
189
   $STATUS_OK	  critic
184
   $STATUS_OK	  forbidden patterns
190
   $STATUS_OK	  forbidden patterns
191
   $STATUS_OK	  git manipulation
185
   $STATUS_OK	  pod
192
   $STATUS_OK	  pod
186
   $STATUS_OK	  spelling
193
   $STATUS_OK	  spelling
187
   $STATUS_OK	  valid
194
   $STATUS_OK	  valid
Lines 189-236 EOL Link Here
189
 $STATUS_KO	perl/updatedatabase.pl
196
 $STATUS_KO	perl/updatedatabase.pl
190
   $STATUS_OK	  critic
197
   $STATUS_OK	  critic
191
   $STATUS_KO	  forbidden patterns
198
   $STATUS_KO	  forbidden patterns
199
   $STATUS_OK	  git manipulation
192
   $STATUS_OK	  pod
200
   $STATUS_OK	  pod
193
   $STATUS_OK	  spelling
201
   $STATUS_OK	  spelling
194
   $STATUS_OK	  valid
202
   $STATUS_OK	  valid
195
203
196
 $STATUS_KO	sql/kohastructure.sql
204
 $STATUS_KO	sql/kohastructure.sql
197
   $STATUS_KO	  charset_collate
205
   $STATUS_KO	  charset_collate
206
   $STATUS_OK	  git manipulation
198
207
199
 $STATUS_KO	sql/sysprefs.sql
208
 $STATUS_KO	sql/sysprefs.sql
209
   $STATUS_OK	  git manipulation
200
   $STATUS_KO	  sysprefs_order
210
   $STATUS_KO	  sysprefs_order
201
211
202
 $STATUS_KO	tmpl/i_fail_patterns.tt
212
 $STATUS_KO	tmpl/i_fail_patterns.tt
203
   $STATUS_KO	  forbidden patterns
213
   $STATUS_KO	  forbidden patterns
214
   $STATUS_OK	  git manipulation
204
   $STATUS_OK	  spelling
215
   $STATUS_OK	  spelling
205
   $STATUS_OK	  tt_valid
216
   $STATUS_OK	  tt_valid
206
   $STATUS_OK	  valid_template
217
   $STATUS_OK	  valid_template
207
218
208
 $STATUS_KO	tmpl/i_fail_patterns_theme.tt
219
 $STATUS_KO	tmpl/i_fail_patterns_theme.tt
209
   $STATUS_KO	  forbidden patterns
220
   $STATUS_KO	  forbidden patterns
221
   $STATUS_OK	  git manipulation
210
   $STATUS_OK	  spelling
222
   $STATUS_OK	  spelling
211
   $STATUS_OK	  tt_valid
223
   $STATUS_OK	  tt_valid
212
   $STATUS_OK	  valid_template
224
   $STATUS_OK	  valid_template
213
225
214
 $STATUS_KO	tmpl/i_fail_patterns_tt_plugins.tt
226
 $STATUS_KO	tmpl/i_fail_patterns_tt_plugins.tt
215
   $STATUS_KO	  forbidden patterns
227
   $STATUS_KO	  forbidden patterns
228
   $STATUS_OK	  git manipulation
216
   $STATUS_OK	  spelling
229
   $STATUS_OK	  spelling
217
   $STATUS_OK	  tt_valid
230
   $STATUS_OK	  tt_valid
218
   $STATUS_KO	  valid_template
231
   $STATUS_KO	  valid_template
219
232
220
 $STATUS_KO	tmpl/i_fail_tt_valid.tt
233
 $STATUS_KO	tmpl/i_fail_tt_valid.tt
221
   $STATUS_OK	  forbidden patterns
234
   $STATUS_OK	  forbidden patterns
235
   $STATUS_OK	  git manipulation
222
   $STATUS_OK	  spelling
236
   $STATUS_OK	  spelling
223
   $STATUS_KO	  tt_valid
237
   $STATUS_KO	  tt_valid
224
   $STATUS_OK	  valid_template
238
   $STATUS_OK	  valid_template
225
239
226
 $STATUS_KO	tmpl/i_fail_valid_template.tt
240
 $STATUS_KO	tmpl/i_fail_valid_template.tt
227
   $STATUS_OK	  forbidden patterns
241
   $STATUS_OK	  forbidden patterns
242
   $STATUS_OK	  git manipulation
228
   $STATUS_OK	  spelling
243
   $STATUS_OK	  spelling
229
   $STATUS_OK	  tt_valid
244
   $STATUS_OK	  tt_valid
230
   $STATUS_KO	  valid_template
245
   $STATUS_KO	  valid_template
231
246
232
 $STATUS_OK	tmpl/i_will_be_correct_tt_valid.tt
247
 $STATUS_OK	tmpl/i_will_be_correct_tt_valid.tt
233
   $STATUS_OK	  forbidden patterns
248
   $STATUS_OK	  forbidden patterns
249
   $STATUS_OK	  git manipulation
234
   $STATUS_OK	  spelling
250
   $STATUS_OK	  spelling
235
   $STATUS_OK	  tt_valid
251
   $STATUS_OK	  tt_valid
236
   $STATUS_OK	  valid_template
252
   $STATUS_OK	  valid_template
237
- 

Return to bug 16008