From 20eb27a44a886f3061e2e8fdc4658c929a80d708 Mon Sep 17 00:00:00 2001 From: Robin Sheat Date: Wed, 13 Mar 2013 15:51:37 +1300 Subject: [PATCH] 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 - 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 Signed-off-by: Chris Cormack --- debian/control | 3 ++- debian/control.in | 3 ++- debian/rules | 1 + xt/verify-debian-docbook.t | 34 ++++++++++++++++++++++++++++++++++ 4 files changed, 39 insertions(+), 2 deletions(-) create mode 100755 xt/verify-debian-docbook.t diff --git a/debian/control b/debian/control index 31af622314..8ac0262897 100644 --- a/debian/control +++ b/debian/control @@ -106,7 +106,8 @@ Build-Depends: libalgorithm-checkdigits-perl, libyaml-syck-perl, perl, perl-modules, - debhelper (>= 7.0.50), gettext, python, python-debian, xsltproc, docbook-xsl + debhelper (>= 7.0.50), gettext, python, python-debian, xsltproc, docbook-xsl, + libxml2-utils Package: koha-common Architecture: all diff --git a/debian/control.in b/debian/control.in index 8cc49dc6d8..a30aeed386 100644 --- a/debian/control.in +++ b/debian/control.in @@ -7,7 +7,8 @@ Standards-Version: 3.8.4 # See debian/rules, the override_dh_gencontrol rules. # There are some exceptions. Build-Depends:__AUTODEPENDS__, - debhelper (>= 7.0.50), gettext, python, python-debian, xsltproc, docbook-xsl + debhelper (>= 7.0.50), gettext, python, python-debian, xsltproc, docbook-xsl, + libxml2-utils Package: koha-common Architecture: all diff --git a/debian/rules b/debian/rules index 0b75d090b8..5980ebbdb4 100755 --- a/debian/rules +++ b/debian/rules @@ -100,6 +100,7 @@ override_dh_auto_install: -e 's:url(.*/skin.css.*):url(skin.css):' \ $(TMP)/usr/share/koha/intranet/htdocs/intranet-tmpl/prog/en/css/staff-global*.css mkdir -p $(TMP)/debian/tmp_docbook + xt/verify-debian-docbook.t xsltproc --output $(TMP)/debian/tmp_docbook/ \ /usr/share/xml/docbook/stylesheet/docbook-xsl/manpages/docbook.xsl \ debian/docs/*.xml diff --git a/xt/verify-debian-docbook.t b/xt/verify-debian-docbook.t new file mode 100755 index 0000000000..06490c348e --- /dev/null +++ b/xt/verify-debian-docbook.t @@ -0,0 +1,34 @@ +#!/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"); +} -- 2.39.5