Bump to 1.14.1
[platform/upstream/augeas.git] / tests / test-events-saved.sh
1 #!/bin/sh
2
3 # Check that saving preserves mode and ownership; for this test to make
4 # much sense (if any) the user running it should have at least one
5 # supplementary group
6
7 run_augtool() {
8 savemode=$1
9 augtool --nostdinc -r $root -I $abs_top_srcdir/lenses <<EOF
10 set /augeas/save $savemode
11 set /files/etc/hosts/1/ipaddr 127.0.1.1
12 set /files/boot/grub/menu.lst/default 3
13 set /files/etc/inittab/1/action fake
14 rm /files/etc/puppet/puppet.conf
15 set /files/etc/yum.repos.d/fedora.repo/fedora/enabled 0
16 save
17 match /augeas/events/saved
18 EOF
19 }
20
21 root=$abs_top_builddir/build/test-events-saved
22
23 for savemode in overwrite backup newfile noop; do
24     rm -rf $root
25     mkdir -p $root
26     cp -pr $abs_top_srcdir/tests/root/* $root
27     chmod -R u+w $root
28
29     saved=$(run_augtool $savemode | grep ^/augeas/events/saved | cut -d ' ' -f 3 | sort | tr '\n' ' ')
30     exp="/files/boot/grub/menu.lst /files/etc/hosts /files/etc/inittab /files/etc/puppet/puppet.conf /files/etc/yum.repos.d/fedora.repo "
31
32     if [ -f "$root/etc/puppet/puppet.conf" -a "$savemode" != "noop" ]
33     then
34         echo "Save mode: $savemode"
35         echo "File /etc/puppet/puppet.conf should have been deleted"
36         exit 1
37     fi
38
39     if [ "$saved" != "$exp" ]
40     then
41         echo "Unexpected entries in /augeas/events/saved:"
42         echo "Expected: \"$exp\""
43         echo "Actual:   \"$saved\""
44         echo "Save mode: $savemode"
45         exit 1
46     fi
47 done