selftest: Add expected-value testing for userParameters
[sfrench/samba-autobuild/.git] / testprogs / blackbox / dbcheck.sh
index 66628b0519004282f3990b75e2c697b137d2c78f..387ce70eefc4a9176aa174b5a604b634059c7487 100755 (executable)
@@ -9,31 +9,52 @@ fi
 
 PREFIX="$1"
 shift 1
+ARGS=$@
 
 . `dirname $0`/subunit.sh
 
 dbcheck() {
-       $BINDIR/samba-tool dbcheck --cross-ncs $@
+       $BINDIR/samba-tool dbcheck --cross-ncs $ARGS
+}
+
+# This list of attributes can be freely extended
+dbcheck_fix_one_way_links() {
+       $BINDIR/samba-tool dbcheck --quiet --fix --yes fix_all_string_dn_component_mismatch --attrs="lastKnownParent defaultObjectCategory fromServer rIDSetReferences" --cross-ncs $ARGS
+}
+
+# This list of attributes can be freely extended
+dbcheck_fix_stale_links() {
+       $BINDIR/samba-tool dbcheck --quiet --fix --yes remove_plausible_deleted_DN_links --attrs="member msDS-NC-Replica-Locations msDS-NC-RO-Replica-Locations" --cross-ncs $ARGS
+}
+
+# This list of attributes can be freely extended
+dbcheck_fix_crosspartition_backlinks() {
+       # we may not know the target yet when we receive a cross-partition link,
+       # which can result in a missing backlink
+       $BINDIR/samba-tool dbcheck --quiet --fix --yes fix_all_missing_backlinks --attrs="serverReference" --cross-ncs $ARGS
 }
 
 # This test shows that this does not do anything to a current
 # provision (that would be a bug)
 dbcheck_reset_well_known_acls() {
-       $BINDIR/samba-tool dbcheck --cross-ncs --reset-well-known-acls $@
+       $BINDIR/samba-tool dbcheck --cross-ncs --reset-well-known-acls $ARGS
 }
 
 reindex() {
-       $BINDIR/samba-tool dbcheck --reindex
+       $BINDIR/samba-tool dbcheck --reindex $ARGS
 }
 
 fixed_attrs() {
-       $BINDIR/samba-tool dbcheck --attrs=cn
+       $BINDIR/samba-tool dbcheck --attrs=cn $ARGS
 }
 
 force_modules() {
-       $BINDIR/samba-tool dbcheck --force-modules
+       $BINDIR/samba-tool dbcheck --force-modules $ARGS
 }
 
+dbcheck_fix_one_way_links
+dbcheck_fix_stale_links
+dbcheck_fix_crosspartition_backlinks
 testit "dbcheck" dbcheck
 testit "reindex" reindex
 testit "fixed_attrs" fixed_attrs