From 2e0c4505e1d9fe017f11b97b51d85efb55f2143a Mon Sep 17 00:00:00 2001 From: Claire Hernandez Date: Mon, 23 Apr 2012 15:11:46 +0200 Subject: [PATCH] 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 | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 136 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..90a935d --- /dev/null +++ b/xt/yaml_valid.t @@ -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 Test::YAML::Valid; + +use Test::More; + +my @files = ( + '../koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/opac.pref', + '../koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/acquisitions.pref', + '../koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/admin.pref', + '../koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/authorities.pref', + '../koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/cataloguing.pref', + '../koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/circulation.pref', + '../koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/', + '../koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/', + '../koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/creators.pref', + '../koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/enhanced_content.pref', + '../koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/i18n_l10n.pref', + '../koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/local_use.pref', + '../koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/logs.pref', + '../koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/opac.pref', + '../koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/patrons.pref', + '../koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/searching.pref', + '../koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/serials.pref', + '../koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/staff_client.pref', + '../koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/web_services.pref', +); + +plan tests => scalar @files; + +foreach my $f (@files) { + yaml_file_ok( "$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