1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-02 09:47:23 +03:00

testprogs: Fix and improve runtime-links test

This fixes running `make test` in a release tarball!

BUG: https://bugzilla.samba.org/show_bug.cgi?id=14542

Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Alexander Bokovoy <ab@samba.org>
This commit is contained in:
Andreas Schneider 2020-10-21 17:35:34 +02:00 committed by Andreas Schneider
parent e4194355f4
commit a9765084f1
2 changed files with 44 additions and 37 deletions

View File

@ -1,4 +1,4 @@
release_dir=`dirname $0`/../../source4/selftest/provisions/$RELEASE
release_dir=$SRCDIR_ABS/source4/selftest/provisions/$RELEASE
ldbadd="ldbadd"
if [ -x "$BINDIR/ldbadd" ]; then
@ -25,13 +25,15 @@ if [ -x "$BINDIR/ldbrename" ]; then
ldbrename="$BINDIR/ldbrename"
fi
samba_tdbrestore="tdbrestore"
if [ -x "$BINDIR/tdbrestore" ]; then
samba_tdbrestore="$BINDIR/tdbrestore"
fi
samba_undump="$SRCDIR_ABS/source4/selftest/provisions/undump.sh"
undump() {
if test -x $BINDIR/tdbrestore;
then
`dirname $0`/../../source4/selftest/provisions/undump.sh $release_dir $PREFIX_ABS/$RELEASE $BINDIR/tdbrestore
else
`dirname $0`/../../source4/selftest/provisions/undump.sh $release_dir $PREFIX_ABS/$RELEASE
fi
$samba_undump $release_dir $PREFIX_ABS/$RELEASE $samba_tdbrestore
}
add_dangling_link() {

View File

@ -11,10 +11,28 @@ PREFIX_ABS="$1"
RELEASE="$2"
shift 2
failed=0
. `dirname $0`/subunit.sh
. `dirname $0`/common-links.sh
. `dirname $0`/common_test_fns.inc
if [ ! -x $samba_undump ] || [ ! -d $release_dir ]; then
subunit_start_test $RELEASE
subunit_skip_test $RELEASE <<EOF
no test provision
EOF
subunit_start_test "tombstones_expunge"
subunit_skip_test "tombstones_expunge" <<EOF
no test provision
EOF
exit 0
fi
delete_member_of_deleted_group() {
TZ=UTC $ldbdel -H tdb://$PREFIX_ABS/${RELEASE}/private/sam.ldb 'CN=User1 UT. Tester,CN=Users,DC=release-4-5-0-pre1,DC=samba,DC=corp'
if [ "$?" != "0" ]; then
@ -36,39 +54,26 @@ delete_dangling_backlink_memberof_group() {
fi
}
remove_directory $PREFIX_ABS/${RELEASE}
if [ -d $release_dir ]; then
testit $RELEASE undump
testit "add_dangling_link" add_dangling_link
testit "add_dangling_backlink" add_dangling_backlink
testit "add_deleted_dangling_backlink" add_deleted_dangling_backlink
testit "revive_links_on_deleted_group" revive_links_on_deleted_group
testit "revive_backlink_on_deleted_group" revive_backlink_on_deleted_group
testit "add_deleted_target_link" add_deleted_target_link
testit "add_deleted_target_backlink" add_deleted_target_backlink
testit "dangling_one_way_link" dangling_one_way_link
testit "dangling_one_way_dn" dangling_one_way_dn
testit "deleted_one_way_dn" deleted_one_way_dn
testit "add_dangling_multi_valued" add_dangling_multi_valued
testit $RELEASE undump || failed=`expr $failed + 1`
testit "add_dangling_link" add_dangling_link || failed=`expr $failed + 1`
testit "add_dangling_backlink" add_dangling_backlink || failed=`expr $failed + 1`
testit "add_deleted_dangling_backlink" add_deleted_dangling_backlink || failed=`expr $failed + 1`
testit "revive_links_on_deleted_group" revive_links_on_deleted_group || failed=`expr $failed + 1`
testit "revive_backlink_on_deleted_group" revive_backlink_on_deleted_group || failed=`expr $failed + 1`
testit "add_deleted_target_link" add_deleted_target_link || failed=`expr $failed + 1`
testit "add_deleted_target_backlink" add_deleted_target_backlink || failed=`expr $failed + 1`
testit "dangling_one_way_link" dangling_one_way_link || failed=`expr $failed + 1`
testit "dangling_one_way_dn" dangling_one_way_dn || failed=`expr $failed + 1`
testit "deleted_one_way_dn" deleted_one_way_dn || failed=`expr $failed + 1`
testit "add_dangling_multi_valued" add_dangling_multi_valued || failed=`expr $failed + 1`
#Now things are set up, work with the DB
testit "delete_member_of_deleted_group" delete_member_of_deleted_group
testit "delete_backlink_memberof_deleted_group" delete_backlink_memberof_deleted_group
testit "delete_dangling_backlink_memberof_group" delete_dangling_backlink_memberof_group
else
subunit_start_test $RELEASE
subunit_skip_test $RELEASE <<EOF
no test provision
EOF
testit "delete_member_of_deleted_group" delete_member_of_deleted_group || failed=`expr $failed + 1`
testit "delete_backlink_memberof_deleted_group" delete_backlink_memberof_deleted_group || failed=`expr $failed + 1`
testit "delete_dangling_backlink_memberof_group" delete_dangling_backlink_memberof_group || failed=`expr $failed + 1`
subunit_start_test "tombstones_expunge"
subunit_skip_test "tombstones_expunge" <<EOF
no test provision
EOF
fi
if [ -d $PREFIX_ABS/${RELEASE} ]; then
rm -fr $PREFIX_ABS/${RELEASE}
fi
remove_directory $PREFIX_ABS/${RELEASE}
exit $failed