File: | t/00-checkdatabase-version.t |
Coverage: | 82.3% |
line | stmt | bran | cond | sub | time | code |
---|---|---|---|---|---|---|
1 | # Copyright 2010 Chris Cormack | |||||
2 | # | |||||
3 | # This file is part of Koha. | |||||
4 | # | |||||
5 | # Koha is free software; you can redistribute it and/or modify it under the | |||||
6 | # terms of the GNU General Public License as published by the Free Software | |||||
7 | # Foundation; either version 2 of the License, or (at your option) any later | |||||
8 | # version. | |||||
9 | # | |||||
10 | # Koha is distributed in the hope that it will be useful, but WITHOUT ANY | |||||
11 | # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR | |||||
12 | # A PARTICULAR PURPOSE. See the GNU General Public License for more details. | |||||
13 | # | |||||
14 | # You should have received a copy of the GNU General Public License along | |||||
15 | # with Koha; if not, write to the Free Software Foundation, Inc., | |||||
16 | # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | |||||
17 | ||||||
18 | 1 1 1 | 1.33283492533037e+15 3 50 | use strict; | |||
19 | 1 1 1 | 6 1 41 | use warnings; | |||
20 | ||||||
21 | 1 1 1 | 1128 21987 11 | use Test::More; | |||
22 | 1 1 1 | 337 1 20 | use File::Spec; | |||
23 | 1 1 1 | 399 10966 70 | use File::Find; | |||
24 | 1 1 1 | 6 4 50780 | use IO::File; | |||
25 | ||||||
26 | 1 | 146928 | my @files =('kohaversion.pl','installer/data/mysql/updatedatabase.pl'); | |||
27 | ||||||
28 | 1 | 30 | foreach my $file (@files){ | |||
29 | 2 | 1376 | next unless -f $file; | |||
30 | 2 | 75 | my @name_parts = File::Spec->splitpath($file); | |||
31 | 2 4 | 40 11 | my %dirs = map { $_ => 1 } File::Spec->splitdir($name_parts[1]); | |||
32 | 2 | 29 | next if exists $dirs{'.git'}; | |||
33 | ||||||
34 | 2 | 184 | my $fh = IO::File->new($file, 'r'); | |||
35 | 2 | 23 | my $xxx_found = 0; | |||
36 | 2 | 22 | my $line = 0; | |||
37 | 2 | 129 | while (<$fh>) { | |||
38 | 5183 | 7328 | $line++; | |||
39 | 5183 | 17790 | if (/XXX/i) { | |||
40 | #two lines are an exception for updatedatabase (routine SetVersion and TransferToNum) | |||||
41 | 2 | 45 | next if $file=~ /updatedatabase/ && ( /s\/XXX\$\/999\/;/ || /\$_\[0\]=~ \/XXX\$\/;/ ); | |||
42 | 0 | 0 | $xxx_found = 1; | |||
43 | 0 | 0 | last; | |||
44 | } | |||||
45 | } | |||||
46 | 2 | 49 | close $fh; | |||
47 | 2 | 11 | if ($xxx_found) { | |||
48 | 0 | 0 | fail("$file has no XXX in it"); | |||
49 | 0 | 0 | diag("XXX found in line $line"); | |||
50 | } else { | |||||
51 | 2 | 49 | pass("$file has no XXX in it"); | |||
52 | } | |||||
53 | } | |||||
54 | ||||||
55 | 1 | 322 | done_testing(); |