mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-11-05 04:41:20 +00:00
de9758ae9b
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 <berrange@redhat.com>
72 lines
1.8 KiB
Perl
Executable File
72 lines
1.8 KiB
Perl
Executable File
#!/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 <berrange@redhat.com>
|
|
|
|
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 (<TEMPLATE>) {
|
|
if (/::CONFIG::/) {
|
|
my $group = 0;
|
|
print AUGTEST " let conf = \"";
|
|
while (<CONFIG>) {
|
|
if (/^#\w/) {
|
|
s/^#//;
|
|
s/\"/\\\"/g;
|
|
print AUGTEST $_;
|
|
$group = /\[\s$/;
|
|
} elsif ($group) {
|
|
s/\"/\\\"/g;
|
|
if (/#\s*\]/) {
|
|
$group = 0;
|
|
}
|
|
if (/^#/) {
|
|
s/^#//;
|
|
print AUGTEST $_;
|
|
}
|
|
}
|
|
}
|
|
print AUGTEST "\"\n";
|
|
} else {
|
|
print AUGTEST $_;
|
|
}
|
|
}
|
|
|
|
close TEMPLATE;
|
|
close CONFIG;
|
|
close AUGTEST or die "cannot save $augtest: $!";
|