]> sourceware.org Git - lvm2.git/commitdiff
Add a shell test for config parsing and merging (lvm dumpconfig).
authorPetr Rockai <prockai@redhat.com>
Sun, 11 Dec 2011 23:14:37 +0000 (23:14 +0000)
committerPetr Rockai <prockai@redhat.com>
Sun, 11 Dec 2011 23:14:37 +0000 (23:14 +0000)
test/shell/dumpconfig.sh [new file with mode: 0644]

diff --git a/test/shell/dumpconfig.sh b/test/shell/dumpconfig.sh
new file mode 100644 (file)
index 0000000..8e7c637
--- /dev/null
@@ -0,0 +1,35 @@
+# Copyright (C) 2011 Red Hat, Inc. All rights reserved.
+#
+# This copyrighted material is made available to anyone wishing to use,
+# modify, copy, or redistribute it subject to the terms and conditions
+# of the GNU General Public License v.2.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+. lib/test
+
+flatten() {
+    cat > flatten.config
+
+    for s in `egrep '^[a-z]+ {$' flatten.config | sed -e s,{$,,`; do
+       sed -e "/^$s/,/^}/p;d" flatten.config | sed -e '1d;$d' | sed -e "s,^[ \t]*,$s/,";
+    done
+}
+
+lvm dumpconfig -vvvv | flatten | sort > config.dump
+flatten < etc/lvm.conf | sort > config.input
+
+# check that dumpconfig output corresponds to the lvm.conf input
+diff -wu config.input config.dump
+
+# and that merging multiple config files (through tags) works
+lvm dumpconfig | flatten | not grep 'log/verbose=1'
+lvm dumpconfig | flatten | grep 'log/indent=1'
+
+aux lvmconf 'tags/@foo {}'
+echo 'log { verbose = 1 }' > etc/lvm_foo.conf
+lvm dumpconfig | flatten | grep 'log/verbose=1'
+lvm dumpconfig | flatten | grep 'log/indent=1'
+
This page took 0.030815 seconds and 5 git commands to generate.