Blame tests/test-save-empty.sh

Packit Service a2ae7a
#!/bin/sh
Packit Service a2ae7a
Packit Service a2ae7a
# Test that we report an error when writing to nonexistent dirs
Packit Service a2ae7a
# but that we do create new files correctly
Packit Service a2ae7a
Packit Service a2ae7a
save_hosts() {
Packit Service a2ae7a
opts="--nostdinc -r $ROOT -I $abs_top_srcdir/lenses"
Packit Service a2ae7a
(augtool $opts | grep ^/augeas) <
Packit Service a2ae7a
set /files/etc/hosts/1/ipaddr 127.0.0.1
Packit Service a2ae7a
set /files/etc/hosts/1/canonical localhost
Packit Service a2ae7a
save
Packit Service a2ae7a
print /augeas/files/etc/hosts/error
Packit Service a2ae7a
EOF
Packit Service a2ae7a
}
Packit Service a2ae7a
Packit Service a2ae7a
expected_errors() {
Packit Service a2ae7a
cat <
Packit Service a2ae7a
/augeas/files/etc/hosts/error = "mk_augtemp"
Packit Service a2ae7a
/augeas/files/etc/hosts/error/message = "No such file or directory"
Packit Service a2ae7a
EOF
Packit Service a2ae7a
}
Packit Service a2ae7a
Packit Service a2ae7a
ROOT=$abs_top_builddir/build/test-save-empty
Packit Service a2ae7a
HOSTS=$ROOT/etc/hosts
Packit Service a2ae7a
Packit Service a2ae7a
rm -rf $ROOT
Packit Service a2ae7a
mkdir -p $ROOT
Packit Service a2ae7a
ACTUAL=$(save_hosts)
Packit Service a2ae7a
EXPECTED=$(expected_errors)
Packit Service a2ae7a
Packit Service a2ae7a
if [ "$ACTUAL" != "$EXPECTED" ]
Packit Service a2ae7a
then
Packit Service a2ae7a
    echo "No error on missing /etc directory:"
Packit Service a2ae7a
    echo "$ACTUAL"
Packit Service a2ae7a
    exit 1
Packit Service a2ae7a
fi
Packit Service a2ae7a
Packit Service a2ae7a
mkdir -p $ROOT/etc
Packit Service a2ae7a
ACTUAL=$(save_hosts)
Packit Service a2ae7a
if [ -n "$ACTUAL" ] ; then
Packit Service a2ae7a
    echo "Error creating file:"
Packit Service a2ae7a
    echo $ACTUAL
Packit Service a2ae7a
    exit 1
Packit Service a2ae7a
fi
Packit Service a2ae7a
Packit Service a2ae7a
if [ ! -f $HOSTS ] ; then
Packit Service a2ae7a
    echo "File ${HOSTS} was not created"
Packit Service a2ae7a
    exit 1
Packit Service a2ae7a
fi
Packit Service a2ae7a
Packit Service a2ae7a
printf '127.0.0.1\tlocalhost\n' > $HOSTS.expected
Packit Service a2ae7a
Packit Service a2ae7a
if ! cmp $HOSTS $HOSTS.expected > /dev/null 2>&1 ; then
Packit Service a2ae7a
    echo "Contents of $HOSTS are incorrect"
Packit Service a2ae7a
    exit 1
Packit Service a2ae7a
fi