From b12a3432b472f953c5c6f0e9e5042427189756ae Mon Sep 17 00:00:00 2001 From: Claire Hernandez Date: Mon, 23 Apr 2012 15:11:46 +0200 Subject: [PATCH 1/2] 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) --- xt/yaml_valid.pl | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ xt/yaml_valid.t | 53 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 121 insertions(+), 0 deletions(-) create mode 100755 xt/yaml_valid.pl create mode 100755 xt/yaml_valid.t diff --git a/xt/yaml_valid.pl b/xt/yaml_valid.pl new file mode 100755 index 0000000..e47e343 --- /dev/null +++ b/xt/yaml_valid.pl @@ -0,0 +1,68 @@ +#!/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 = < \$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 + diff --git a/xt/yaml_valid.t b/xt/yaml_valid.t new file mode 100755 index 0000000..ffec600 --- /dev/null +++ b/xt/yaml_valid.t @@ -0,0 +1,53 @@ +#!/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; + +my $filebase = "../koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences"; +warn $filebase; + +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 Koha root directory: + +prove -v xt/tt_valid.t + +=cut + -- 1.7.4.1