Merge remote-tracking branch 'origin/new/bug_7143'
[koha.git] / xt / yaml_valid.pl
1 #!/usr/bin/perl
2
3 # Copyright (C) 2012 BibLibre
4 #
5 # This file is part of Koha.
6 #
7 # Koha is free software; you can redistribute it and/or modify it under the
8 # terms of the GNU General Public License as published by the Free Software
9 # Foundation; either version 2 of the License, or (at your option) any later
10 # version.
11 #
12 # Koha is distributed in the hope that it will be useful, but WITHOUT ANY
13 # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
14 # A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
15 #
16 # You should have received a copy of the GNU General Public License along
17 # with Koha; if not, write to the Free Software Foundation, Inc.,
18 # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19
20 use Modern::Perl;
21 use Getopt::Long;
22 use YAML;
23
24 my $usage = <<EOF;
25 yaml_valid.pl - give it a filename and it will told you if it is an exact yaml file.
26     -h|--help           Print this help and exit;
27     -f|--file           File to check
28
29   Tests yaml config files
30   It does not tell if the params are correct, only if the file is well-formed (ie: readable by yaml)
31 EOF
32
33 my $help = 0;
34 my $file = 0;
35 GetOptions(
36     "help"   => \$help,
37     "file=s" => \$file,
38 ) or die $usage;
39 die $usage if $help;
40
41 say "Testing file: $file";
42 eval { YAML::LoadFile($file); };
43 if ($@) {
44     print "KO!\n$@\n";
45 }
46 else {
47     print "Loading and Syntax OK\n";
48 }
49
50 #yaml_file_ok("$file", "$file is YAML");
51
52 =head1 NAME
53
54 yaml_valid.pl
55
56 =head1 DESCRIPTION
57
58   Tests yaml config files
59   It does not tell if the params are correct, only if the file is well-formed (ie: readable by yaml)
60
61 =head1 USAGE
62
63 From Koha root directory:
64
65 perl xt/yaml_valid.pl -f filename.yaml
66
67 =cut