Koha/xt/verify-debian-docbook.t
Robin Sheat c9172f49c8 Bug 9802 - add test case to ensure man pages have correct XML
To test:
* run xt/verify-debian-docbook.t and make sure it's all OK
* modify an xml file in debian/docs, try again, make sure it fails

Signed-off-by: Magnus Enger <magnus@enger.priv.no>
- Running "prove -v xt/verify-debian-docbook.t" loops through all the
  XML files in debian/docs and reports them as being ok.
- Removing a "<" from one of the files makes the test report it as
  an error
- I did not verify that the test actually trips up a package build
  if there is invalid XML.
Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
2013-03-20 15:11:10 -04:00

34 lines
1.1 KiB
Perl
Executable file

#!/usr/bin/perl
# Copyright (C) 2013 Catalyst IT Ltd.
#
# 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.
# This runs 'xmllint' (part of libxml2-utils) over each xml file that
# generates the koha-common man pages and ensures they're correct.
use strict;
use warnings;
use Test::More qw(no_plan);
my $doc_dir = 'debian/docs';
my @doc_files = glob($doc_dir . '/*.xml');
my @command = qw(xmllint --noout);
foreach my $file (@doc_files) {
ok(system(@command, $file) == 0, "XML validation for $file");
}