From: Daniel P. Berrange Date: Fri, 25 May 2012 10:14:15 +0000 (+0100) Subject: Autogenerate augeas test case from default config files X-Git-Tag: v0.9.13-rc1~190 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=de9758ae9b2cb0c7f9f8e15e4e69016f6e7fc2a8;p=thirdparty%2Flibvirt.git Autogenerate augeas test case from default config files When adding new config file parameters, the corresponding additions to the augeas lens' are constantly forgotten. Also there are augeas test cases, these don't catch the error, since they too are never updated. To address this, the augeas test cases need to be auto-generated from the example config files. * build-aux/augeas-gentest.pl: Helper to generate an augeas test file, substituting in elements from the example config files * src/Makefile.am, daemon/Makefile.am: Switch to auto-generated augeas test cases * daemon/test_libvirtd.aug, daemon/test_libvirtd.aug.in, src/locking/test_libvirt_sanlock.aug, src/locking/test_libvirt_sanlock.aug.in, src/lxc/test_libvirtd_lxc.aug, src/lxc/test_libvirtd_lxc.aug.in, src/qemu/test_libvirtd_qemu.aug, src/qemu/test_libvirtd_qemu.aug.in: Remove example config file data, replacing with a ::CONFIG:: placeholder Signed-off-by: Daniel P. Berrange --- diff --git a/.gitignore b/.gitignore index 65f679d05e..50ff3bf7d2 100644 --- a/.gitignore +++ b/.gitignore @@ -54,6 +54,7 @@ /daemon/libvirtd.init /daemon/libvirtd.pod /daemon/libvirtd.service +/daemon/test_libvirtd.aug /docs/apibuild.py.stamp /docs/devhelp/libvirt.devhelp /docs/hvsupport.html.in @@ -101,6 +102,9 @@ /src/libvirt_*probes.h /src/libvirt_lxc /src/locking/qemu-sanlock.conf +/src/locking/test_libvirt_sanlock.aug +/src/lxc/test_libvirtd_lxc.aug +/src/qemu/test_libvirtd_qemu.aug /src/remote/*_client_bodies.h /src/remote/*_protocol.[ch] /src/rpc/virkeepaliveprotocol.[ch] diff --git a/build-aux/augeas-gentest.pl b/build-aux/augeas-gentest.pl new file mode 100755 index 0000000000..a5f9fd3881 --- /dev/null +++ b/build-aux/augeas-gentest.pl @@ -0,0 +1,71 @@ +#!/usr/bin/perl +# +# augeas-gentest.pl: Generate an augeas test file, from an +# example config file + test file template +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library 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 +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# Authors: +# Daniel P. Berrange + +use strict; +use warnings; + +die "syntax: $0 CONFIG TEMPLATE AUGTEST\n" unless @ARGV == 3; + +my $config = shift @ARGV; +my $template = shift @ARGV; +my $augtest = shift @ARGV; + +open AUGTEST, ">", $augtest or die "cannot create $augtest: $!"; + +$SIG{__DIE__} = sub { + unlink $augtest; +}; + +open CONFIG, "<", $config or die "cannot read $config: $!"; +open TEMPLATE, "<", $template or die "cannot read $template: $!"; + +my $group = 0; +while (