Browse Source

Bug 7994: scripts to check yaml files

$ prove yaml_valid.t
checks a closed list of files
$ perl yaml_valid.pl -f myfile.yaml
try to load a yaml file with YAML::LoadFile and show errors

(both files pertidied)

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
3.10.x
Claire Hernandez 12 years ago
committed by Paul Poulain
parent
commit
6ee7ad02aa
  1. 67
      xt/yaml_valid.pl
  2. 56
      xt/yaml_valid.t

67
xt/yaml_valid.pl

@ -0,0 +1,67 @@
#!/usr/bin/perl
# Copyright (C) 2012 BibLibre
#
# This file is part of Koha.
#
# 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 2 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, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
use Modern::Perl;
use Getopt::Long;
use YAML;
my $usage = <<EOF;
yaml_valid.pl - give it a filename and it will told you if it is an exact yaml file.
-h|--help Print this help and exit;
-f|--file File to check
Tests yaml config files
It does not tell if the params are correct, only if the file is well-formed (ie: readable by yaml)
EOF
my $help = 0;
my $file = 0;
GetOptions(
"help" => \$help,
"file=s" => \$file,
) or die $usage;
die $usage if $help;
say "Testing file: $file";
eval { YAML::LoadFile($file); };
if ($@) {
print "KO!\n$@\n";
}
else {
print "Loading and Syntax OK\n";
}
#yaml_file_ok("$file", "$file is YAML");
=head1 NAME
yaml_valid.pl
=head1 DESCRIPTION
Tests yaml config files
It does not tell if the params are correct, only if the file is well-formed (ie: readable by yaml)
=head1 USAGE
From Koha root directory:
perl xt/yaml_valid.pl -f filename.yaml
=cut

56
xt/yaml_valid.t

@ -0,0 +1,56 @@
#!/usr/bin/perl
# Copyright (C) 2012 BibLibre
#
# This file is part of Koha.
#
# 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 2 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, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
use Modern::Perl;
use Test::YAML::Valid;
use Data::Dumper;
use Test::More;
BEGIN {
use FindBin;
eval { require "$FindBin::Bin/../misc/kohalib.pl" };
}
my $filebase = "$FindBin::Bin/../koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences";
my @files = `ls -1 $filebase`;
plan tests => scalar @files;
foreach my $f (@files) {
chomp $f;
yaml_file_ok( "$filebase/$f", "$f is YAML" );
}
=head1 NAME
yaml_valid.t
=head1 DESCRIPTION
=head1 USAGE
From everywhere:
prove xt/yaml_valid.t
=cut
Loading…
Cancel
Save