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