"cn=Added User,ou=Alumni Association,ou=People,$BASEDN" \
        "seeAlso:cn=All Staff,ou=Groups,$BASEDN" >> $TESTOUT 2>&1
 RC=$?
-if test $RC != 6 ; then
+if test $RC != 6 && test $RC,$BACKEND != 5,null ; then
        echo "Compare failed ($RC)!"
        test $KILLSERVERS != no && kill -HUP $KILLPIDS
        exit $RC
 fi
 
 test $KILLSERVERS != no && kill -HUP $KILLPIDS
-
 
        exit 1
 fi
 
+if test $BACKEND != null ; then
 echo "Testing sizelimit..."
 $LDAPSEARCH -b "$BASEDN" -h $LOCALHOST -p $PORT1 -s one -z 2 > $SEARCHOUT 2>&1
 RC=$?
        test $KILLSERVERS != no && kill -HUP $KILLPIDS
        exit 1
 fi
+fi
 
 test $KILLSERVERS != no && kill -HUP $KILLPIDS
 
 
        exit 0
 fi
 
+if test $BACKEND = null; then
+       echo "Test does not support $BACKEND backend, test skipped"
+       exit 0
+fi
+
 mkdir -p $TESTDIR $DBDIR1
 
 $SLAPPASSWD -g -n >$CONFIGPWF
 
        exit $RC
 fi
 
+if test $BACKEND = null; then
+       echo "Limits irrelevant to $BACKEND backend, test skipped"
+       exit 0
+fi
+
 echo "Running slapindex to index slapd database..."
 . $CONFFILTER $BACKEND $MONITORDB < $LIMITSCONF > $CONF1
 $SLAPINDEX -f $CONF1
 
                 > $TESTOUT 2>&1
 
        RC=$?
-       if test $RC != 6 ; then
+       if test $RC != 6 && test $RC,$BACKEND != 5,null ; then
                echo "ldapcompare failed ($RC)!"
                test $KILLSERVERS != no && kill -HUP $KILLPIDS
                exit $RC
                 > $TESTOUT 2>&1
 
        RC=$?
-       if test $RC != 6 ; then
+       if test $RC != 6 && test $RC,$BACKEND != 5,null ; then
                echo "ldapcompare failed ($RC)!"
                test $KILLSERVERS != no && kill -HUP $KILLPIDS
                exit $RC
 
 ## top-level directory of the distribution or, alternatively, at
 ## <http://www.OpenLDAP.org/license.html>.
 
-case $BACKEND in bdb | hdb | ldif) : ;; *)
-       echo "Test does not support $BACKEND backend, test skipped"
-       exit 0
-esac
-
 echo "running defines.sh"
 . $SRCDIR/scripts/defines.sh
 
 
 $LDAPSEARCH -H $URI2 -b "$BABSDN" > $TESTOUT 2>&1
 RC=$?
-if test $RC = 0 ; then
+if test $RC = 0 && test $BACKEND != null ; then
        echo "ldapsearch should have failed ($RC)!"
        test $KILLSERVERS != no && kill -HUP $KILLPIDS
        exit -1
 
        -w $PASSWD < $LDIFTRANSLUCENTADD > $TESTOUT 2>&1
 
 RC=$?
-if test $RC != 32 ; then
+if test $RC != 32 && test $RC,$BACKEND != 0,null ; then
        echo "ldapadd failed ($RC), expected NO SUCH OBJECT!"
        grep "$FAILURE" $TESTOUT
        test $KILLSERVERS != no && kill -HUP $KILLPIDS
        $TESTOUT 2>&1 'uid=fred,ou=users,o=translucent' 'uid=someguy'
 
 RC=$?
-if test $RC != 32 ; then
+if test $RC != 32 && test $RC,$BACKEND != 0,null ; then
        echo "ldapmodrdn failed ($RC), expected NO SUCH OBJECT!"
        grep "$FAILURE" $TESTOUT
        test $KILLSERVERS != no && kill -HUP $KILLPIDS
 
        -b "$BASEDN" "(objectClass=*)" 1.1 \
        >> $TESTOUT 2>&1
 RC=$?
-case $RC in 
-       0)
+case $RC,$BACKEND in
+       4,* | 0,null)
+       ;;
+       0,*)
                echo "Search should have failed ($RC)!"
                test $KILLSERVERS != no && kill -HUP $KILLPIDS
                exit -1
        ;;
-       4)
-       ;;
        *)
                echo "Search failed ($RC)!"
                test $KILLSERVERS != no && kill -HUP $KILLPIDS
        -b "$BASEDN" -z 2 "(objectClass=*)" 1.1 \
        >> $TESTOUT 2>&1
 RC=$?
-case $RC in 
-       0)
+case $RC,$BACKEND in
+       4,* | 0,null)
+       ;;
+       0,*)
                echo "Search should have failed ($RC)!"
                test $KILLSERVERS != no && kill -HUP $KILLPIDS
                exit -1
        ;;
-       4)
-       ;;
        *)
                echo "Search failed ($RC)!"
                test $KILLSERVERS != no && kill -HUP $KILLPIDS
 #      test $KILLSERVERS != no && kill -HUP $KILLPIDS
 #      exit $RC
 #fi
-case $RC in 
-       0)
+case $RC,$BACKEND in
+       0,null)
+       ;;
+       0,*)
                echo "WhoAmI should have failed ($RC)!"
                test $KILLSERVERS != no && kill -HUP $KILLPIDS
                exit -1
        ;;
-       51)
+       51,*)
                echo "### Hit LDAP_BUSY problem; you may want to re-run the test"
        ;;
        *)
 #      test $KILLSERVERS != no && kill -HUP $KILLPIDS
 #      exit $RC
 #fi
-case $RC in 
-       0)
+case $RC,$BACKEND in
+       0,null)
+       ;;
+       0,*)
                echo "WhoAmI should have failed ($RC)!"
                test $KILLSERVERS != no && kill -HUP $KILLPIDS
                exit -1
        ;;
-       51)
+       51,*)
                echo "### Hit LDAP_BUSY problem; you may want to re-run the test"
        ;;
        *)
 #      test $KILLSERVERS != no && kill -HUP $KILLPIDS
 #      exit -1
 #fi
-case $RC in 
-       6)
+case $RC,$BACKEND in
+       6,* | 5,null)
        ;;
-       51)
+       51,*)
                echo "### Hit LDAP_BUSY problem; you may want to re-run the test"
        ;;
        *)
 
 echo "running defines.sh"
 . $SRCDIR/scripts/defines.sh
 
-case $BACKEND in
-hdb | ldif)
-       ;;
-*)
+if test $BACKEND = bdb ; then
        echo "subtree rename not supported by back-$BACKEND"
        exit 0
-esac
+fi
 
 mkdir -p $TESTDIR $DBDIR1
 
 
 ## top-level directory of the distribution or, alternatively, at
 ## <http://www.OpenLDAP.org/license.html>.
 
-if test "$BACKEND" != "bdb" && test "$BACKEND" != "hdb" ; then
-       echo "Test does not support $BACKEND"
-       exit 0
-fi
-
 echo "running defines.sh"
 . $SRCDIR/scripts/defines.sh
 
 
        -b "$BASEDN" "(objectClass=*)" 1.1 \
        >> $TESTOUT 2>&1
 RC=$?
-case $RC in 
-       0)
+case $RC,$BACKEND in
+       4,* | 0,null)
+       ;;
+       0,*)
                echo "Search should have failed ($RC)!"
                test $KILLSERVERS != no && kill -HUP $KILLPIDS
                exit -1
        ;;
-       4)
-       ;;
        *)
                echo "Search failed ($RC)!"
                test $KILLSERVERS != no && kill -HUP $KILLPIDS
        -b "$BASEDN" -z 2 "(objectClass=*)" 1.1 \
        >> $TESTOUT 2>&1
 RC=$?
-case $RC in 
-       0)
+case $RC,$BACKEND in
+       4,* | 0,null)
+       ;;
+       0,*)
                echo "Search should have failed ($RC)!"
                test $KILLSERVERS != no && kill -HUP $KILLPIDS
                exit -1
        ;;
-       4)
-       ;;
        *)
                echo "Search failed ($RC)!"
                test $KILLSERVERS != no && kill -HUP $KILLPIDS
 #      test $KILLSERVERS != no && kill -HUP $KILLPIDS
 #      exit $RC
 #fi
-case $RC in 
-       0)
+case $RC,$BACKEND in
+       0,null)
+       ;;
+       0,*)
                echo "WhoAmI should have failed ($RC)!"
                test $KILLSERVERS != no && kill -HUP $KILLPIDS
                exit -1
        ;;
-       51)
+       51,*)
                echo "### Hit LDAP_BUSY problem; you may want to re-run the test"
        ;;
        *)
 #      test $KILLSERVERS != no && kill -HUP $KILLPIDS
 #      exit $RC
 #fi
-case $RC in 
-       0)
+case $RC,$BACKEND in
+       0,null)
+       ;;
+       0,*)
                echo "WhoAmI should have failed ($RC)!"
                test $KILLSERVERS != no && kill -HUP $KILLPIDS
                exit -1
        ;;
-       51)
+       51,*)
                echo "### Hit LDAP_BUSY problem; you may want to re-run the test"
        ;;
        *)
 #      test $KILLSERVERS != no && kill -HUP $KILLPIDS
 #      exit -1
 #fi
-case $RC in 
-       6)
+case $RC,$BACKEND in
+       5,null)
        ;;
-       51)
+       6,*)
+       ;;
+       51,*)
                echo "### Hit LDAP_BUSY problem; you may want to re-run the test"
        ;;
        *)