summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Schneider <asn@samba.org>2020-10-21 17:35:34 +0200
committerKarolin Seeger <kseeger@samba.org>2020-10-27 08:22:02 +0000
commit2aad79378ad8aec28026649157bad4c229ab22c0 (patch)
treeb750ed6fb1b8c59ac25b5871ff9a6e54346904e7
parent62e97089a880a613cbb9bfd038e276390fe6dda6 (diff)
downloadsamba-2aad79378ad8aec28026649157bad4c229ab22c0.tar.gz
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> (cherry picked from commit a9765084f11eae991516f150d1cd1c2370854ec7)
-rw-r--r--testprogs/blackbox/common-links.sh16
-rwxr-xr-xtestprogs/blackbox/runtime-links.sh65
2 files changed, 44 insertions, 37 deletions
diff --git a/testprogs/blackbox/common-links.sh b/testprogs/blackbox/common-links.sh
index ee7310b5108..363234ae11c 100644
--- a/testprogs/blackbox/common-links.sh
+++ b/testprogs/blackbox/common-links.sh
@@ -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() {
diff --git a/testprogs/blackbox/runtime-links.sh b/testprogs/blackbox/runtime-links.sh
index 344b822f07e..f8de66c60e7 100755
--- a/testprogs/blackbox/runtime-links.sh
+++ b/testprogs/blackbox/runtime-links.sh
@@ -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
-
- subunit_start_test "tombstones_expunge"
- subunit_skip_test "tombstones_expunge" <<EOF
-no test provision
-EOF
-fi
+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`
-if [ -d $PREFIX_ABS/${RELEASE} ]; then
- rm -fr $PREFIX_ABS/${RELEASE}
-fi
+remove_directory $PREFIX_ABS/${RELEASE}
exit $failed