Browse Source

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>
3.12.x
Robin Sheat 10 years ago
committed by Jared Camins-Esakov
parent
commit
c9172f49c8
  1. 3
      debian/control
  2. 3
      debian/control.in
  3. 1
      debian/rules
  4. 34
      xt/verify-debian-docbook.t

3
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

3
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

1
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

34
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");
}
Loading…
Cancel
Save