From: Andrew Bartlett Date: Mon, 2 Mar 2020 23:36:42 +0000 (+1300) Subject: selftest: Add test for dangling backlinks to objects that do not exist X-Git-Url: http://git.samba.org/samba.git/?p=bbaumbach%2Fsamba-autobuild%2F.git;a=commitdiff_plain;h=1f65f211699714154ac01f2271cd11025ced7b81 selftest: Add test for dangling backlinks to objects that do not exist BUG: https://bugzilla.samba.org/show_bug.cgi?id=14306 Signed-off-by: Andrew Bartlett Reviewed-by: Andreas Schneider --- diff --git a/selftest/knownfail.d/dbcheck-links b/selftest/knownfail.d/dbcheck-links new file mode 100644 index 00000000000..99156e3cf2c --- /dev/null +++ b/selftest/knownfail.d/dbcheck-links @@ -0,0 +1 @@ +^samba4.blackbox.dbcheck-links.release-4-5-0-pre1.dangling_link_to_unknown_does_not_prevent_delete diff --git a/testprogs/blackbox/dbcheck-links.sh b/testprogs/blackbox/dbcheck-links.sh index d82d0b1dabc..450faaf594e 100755 --- a/testprogs/blackbox/dbcheck-links.sh +++ b/testprogs/blackbox/dbcheck-links.sh @@ -777,6 +777,52 @@ EOF fi } +dangling_link_to_unknown_does_not_prevent_delete() { + + # + # Step1: add user "dangling" + # + ldif=$PREFIX_ABS/${RELEASE}/backlink_can_be_vanished1.ldif + dn='CN=dangling-for-vanish,CN=users,DC=release-4-5-0-pre1,DC=samba,DC=corp' + cat > $ldif <;;CN=NOT Enterprise Admins,CN=Users,DC=release-4-5-0-pre1,DC=samba,DC=corp" + } > $ldif + + out=$(TZ=UTC $ldbmodify -H tdb://$PREFIX_ABS/${RELEASE}/private/sam.ldb.d/DC%3DRELEASE-4-5-0-PRE1,DC%3DSAMBA,DC%3DCORP.ldb $ldif) + if [ "$?" != "0" ]; then + echo "ldbmodify returned:\n$out" + return 1 + fi + + out=$(TZ=UTC $ldbdel -H tdb://$PREFIX_ABS/${RELEASE}/private/sam.ldb "$dn") + if [ "$?" != "0" ]; then + echo "ldbdel returned:\n$out" + return 1 + fi +} + if [ -d $release_dir ]; then testit $RELEASE undump testit "add_two_more_users" add_two_more_users @@ -837,6 +883,7 @@ if [ -d $release_dir ]; then # Currently this cannot pass testit "dbcheck_dangling_multi_valued_clean" dbcheck_clean testit "dangling_link_does_not_prevent_delete" dangling_link_does_not_prevent_delete + testit "dangling_link_to_unknown_does_not_prevent_delete" dangling_link_to_unknown_does_not_prevent_delete else subunit_start_test $RELEASE subunit_skip_test $RELEASE <