summaryrefslogtreecommitdiffstats
path: root/test/shell
diff options
context:
space:
mode:
authorPetr Rockai <prockai@redhat.com>2011-12-11 23:14:37 +0000
committerPetr Rockai <prockai@redhat.com>2011-12-11 23:14:37 +0000
commit509278c7d27ffe92a7cc07a996dbfa6193eda6c5 (patch)
tree0fb7611ba18b7615a6d0a1184e7bdffd72181cd2 /test/shell
parent426fc74255e49261513fea1087cb0e06ed27e573 (diff)
downloadlvm2-509278c7d27ffe92a7cc07a996dbfa6193eda6c5.tar.gz
lvm2-509278c7d27ffe92a7cc07a996dbfa6193eda6c5.tar.xz
lvm2-509278c7d27ffe92a7cc07a996dbfa6193eda6c5.zip
Add a shell test for config parsing and merging (lvm dumpconfig).
Diffstat (limited to 'test/shell')
-rw-r--r--test/shell/dumpconfig.sh35
1 files changed, 35 insertions, 0 deletions
diff --git a/test/shell/dumpconfig.sh b/test/shell/dumpconfig.sh
new file mode 100644
index 00000000..8e7c6372
--- /dev/null
+++ b/test/shell/dumpconfig.sh
@@ -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'
+