Blame test/test_tdbbackup.sh
|
rpm-build |
ca8475 |
#!/bin/sh
|
|
rpm-build |
ca8475 |
# Blackbox test for tdbbackup of given ldb or tdb database
|
|
rpm-build |
ca8475 |
# Copyright (C) 2018 Andrew Bartlett <abartlet@samba.org>
|
|
rpm-build |
ca8475 |
|
|
rpm-build |
ca8475 |
if [ $# -lt 1 ]; then
|
|
rpm-build |
ca8475 |
echo "Usage: $0 LDBFILE"
|
|
rpm-build |
ca8475 |
exit 1;
|
|
rpm-build |
ca8475 |
fi
|
|
rpm-build |
ca8475 |
|
|
rpm-build |
ca8475 |
LDBFILE=$1
|
|
rpm-build |
ca8475 |
|
|
rpm-build |
ca8475 |
timestamp() {
|
|
rpm-build |
ca8475 |
date -u +'time: %Y-%m-%d %H:%M:%S.%6NZ' | sed 's/\..*NZ$/.000000Z/'
|
|
rpm-build |
ca8475 |
}
|
|
rpm-build |
ca8475 |
|
|
rpm-build |
ca8475 |
subunit_fail_test () {
|
|
rpm-build |
ca8475 |
timestamp
|
|
rpm-build |
ca8475 |
printf 'failure: %s [\n' "$1"
|
|
rpm-build |
ca8475 |
cat -
|
|
rpm-build |
ca8475 |
echo "]"
|
|
rpm-build |
ca8475 |
}
|
|
rpm-build |
ca8475 |
|
|
rpm-build |
ca8475 |
testit () {
|
|
rpm-build |
ca8475 |
name="$1"
|
|
rpm-build |
ca8475 |
shift
|
|
rpm-build |
ca8475 |
cmdline="$@"
|
|
rpm-build |
ca8475 |
timestamp
|
|
rpm-build |
ca8475 |
printf 'test: %s\n' "$1"
|
|
rpm-build |
ca8475 |
output=`$cmdline 2>&1`
|
|
rpm-build |
ca8475 |
status=$?
|
|
rpm-build |
ca8475 |
if [ x$status = x0 ]; then
|
|
rpm-build |
ca8475 |
timestamp
|
|
rpm-build |
ca8475 |
printf 'success: %s\n' "$name"
|
|
rpm-build |
ca8475 |
else
|
|
rpm-build |
ca8475 |
echo "$output" | subunit_fail_test "$name"
|
|
rpm-build |
ca8475 |
fi
|
|
rpm-build |
ca8475 |
return $status
|
|
rpm-build |
ca8475 |
}
|
|
rpm-build |
ca8475 |
|
|
rpm-build |
ca8475 |
$BINDIR/tdbdump $LDBFILE | sort > orig_dump
|
|
rpm-build |
ca8475 |
|
|
rpm-build |
ca8475 |
testit "normal tdbbackup on tdb file" $BINDIR/tdbbackup $LDBFILE -s .bak
|
|
rpm-build |
ca8475 |
$BINDIR/tdbdump $LDBFILE.bak | sort > bak_dump
|
|
rpm-build |
ca8475 |
testit "cmp between tdbdumps of original and backup" cmp orig_dump bak_dump
|
|
rpm-build |
ca8475 |
rm $LDBFILE.bak
|
|
rpm-build |
ca8475 |
rm bak_dump
|
|
rpm-build |
ca8475 |
|
|
rpm-build |
ca8475 |
testit "readonly tdbbackup on tdb file" $BINDIR/tdbbackup $LDBFILE -s .bak -r
|
|
rpm-build |
ca8475 |
$BINDIR/tdbdump $LDBFILE.bak | sort > bak_dump
|
|
rpm-build |
ca8475 |
testit "cmp between tdbdumps of original and back dbs" cmp orig_dump bak_dump
|
|
rpm-build |
ca8475 |
rm $LDBFILE.bak
|
|
rpm-build |
ca8475 |
rm bak_dump
|
|
rpm-build |
ca8475 |
|
|
rpm-build |
ca8475 |
rm orig_dump
|