]> git.sur5r.net Git - openldap/blobdiff - tests/scripts/test058-syncrepl-asymmetric
Support back-null after all
[openldap] / tests / scripts / test058-syncrepl-asymmetric
index cd4ccebdccda1613bc967b088d3e6243b9a12166..95695131a906572e60a1bc614849cabe23c5d4b5 100755 (executable)
 # environment variable RACE_TESTS can be set to the number of race test
 # iterations the script should perform.
 
-case "$BACKEND" in ldif | null)
-       # LDIF lacks ACL support, NULL lacks cn=config support
-       echo "This test does not support the $BACKEND backend"
-       exit 0;;
-esac
+if test "$BACKEND" = ldif ; then
+       echo "$backend backend does not support access controls, test skipped"
+       exit 0
+fi
 
 echo "running defines.sh"
 . $SRCDIR/scripts/defines.sh
@@ -403,12 +402,15 @@ EOF
        fi
 fi
 
+nullExclude="" nullOK="" wantNoObj=32
+test $BACKEND = null && nullExclude="# " nullOK="OK" wantNoObj=0
+
 $LDAPADD -D cn=config -H $URI1 -y $CONFIGPWF <<EOF >> $TESTOUT 2>&1
 dn: olcDatabase={1}$BACKEND,cn=config
 objectClass: olcDatabaseConfig
-objectClass: olc${BACKEND}Config
+${nullExclude}objectClass: olc${BACKEND}Config
 olcDatabase: {1}$BACKEND
-olcDbDirectory: $SMC_DIR/db
+${nullExclude}olcDbDirectory: $SMC_DIR/db
 olcSuffix: $BASEDN
 olcRootDN: $MANAGERDN
 olcRootPW: $PASSWD
@@ -425,45 +427,45 @@ olcSpCheckpoint: 3 1
 
 dn: olcDatabase={1}$BACKEND,cn=config
 objectClass: olcDatabaseConfig
-objectClass: olc${BACKEND}Config
+${nullExclude}objectClass: olc${BACKEND}Config
 olcDatabase: {1}$BACKEND
-olcDbDirectory: $SMC_DIR/ou1
+${nullExclude}olcDbDirectory: $SMC_DIR/ou1
 olcSubordinate: TRUE
 olcSuffix: ou=ou1,$BASEDN
 olcRootDN: $MANAGERDN
 
 dn: olcDatabase={2}$BACKEND,cn=config
 objectClass: olcDatabaseConfig
-objectClass: olc${BACKEND}Config
+${nullExclude}objectClass: olc${BACKEND}Config
 olcDatabase: {2}$BACKEND
-olcDbDirectory: $SMC_DIR/ou2
+${nullExclude}olcDbDirectory: $SMC_DIR/ou2
 olcSubordinate: TRUE
 olcSuffix: ou=ou2,$BASEDN
 olcRootDN: $MANAGERDN
 
 dn: olcDatabase={3}$BACKEND,cn=config
 objectClass: olcDatabaseConfig
-objectClass: olc${BACKEND}Config
+${nullExclude}objectClass: olc${BACKEND}Config
 olcDatabase: {3}$BACKEND
-olcDbDirectory: $SMC_DIR/sm1ou1
+${nullExclude}olcDbDirectory: $SMC_DIR/sm1ou1
 olcSubordinate: TRUE
 olcSuffix: ou=sm1ou1,$BASEDN
 olcRootDN: $UPDATEDN
 
 dn: olcDatabase={4}$BACKEND,cn=config
 objectClass: olcDatabaseConfig
-objectClass: olc${BACKEND}Config
+${nullExclude}objectClass: olc${BACKEND}Config
 olcDatabase: {4}$BACKEND
-olcDbDirectory: $SMC_DIR/sm1ou2
+${nullExclude}olcDbDirectory: $SMC_DIR/sm1ou2
 olcSubordinate: TRUE
 olcSuffix: ou=sm1ou2,$BASEDN
 olcRootDN: $UPDATEDN
 
 dn: olcDatabase={5}$BACKEND,cn=config
 objectClass: olcDatabaseConfig
-objectClass: olc${BACKEND}Config
+${nullExclude}objectClass: olc${BACKEND}Config
 olcDatabase: {5}$BACKEND
-olcDbDirectory: $SMC_DIR/sm2ou1
+${nullExclude}olcDbDirectory: $SMC_DIR/sm2ou1
 olcSubordinate: TRUE
 olcSuffix: ou=sm2ou1,$BASEDN
 olcRootDN: $UPDATEDN
@@ -497,9 +499,9 @@ fi
 $LDAPADD -D cn=config -H $URI2 -y $CONFIGPWF <<EOF >> $TESTOUT 2>&1
 dn: olcDatabase={1}$BACKEND,cn=config
 objectClass: olcDatabaseConfig
-objectClass: olc${BACKEND}Config
+${nullExclude}objectClass: olc${BACKEND}Config
 olcDatabase: {1}$BACKEND
-olcDbDirectory: $SM1_DIR/db
+${nullExclude}olcDbDirectory: $SM1_DIR/db
 olcSuffix: $BASEDN
 olcRootDN: $UPDATEDN
 
@@ -514,18 +516,18 @@ olcOverlay: {1}syncprov
 
 dn: olcDatabase={1}$BACKEND,cn=config
 objectClass: olcDatabaseConfig
-objectClass: olc${BACKEND}Config
+${nullExclude}objectClass: olc${BACKEND}Config
 olcDatabase: {1}$BACKEND
-olcDbDirectory: $SM1_DIR/ou1
+${nullExclude}olcDbDirectory: $SM1_DIR/ou1
 olcSubordinate: TRUE
 olcSuffix: ou=ou1,$BASEDN
 olcRootDN: $UPDATEDN
 
 dn: olcDatabase={2}$BACKEND,cn=config
 objectClass: olcDatabaseConfig
-objectClass: olc${BACKEND}Config
+${nullExclude}objectClass: olc${BACKEND}Config
 olcDatabase: {2}$BACKEND
-olcDbDirectory: $SM1_DIR/sm1ou1
+${nullExclude}olcDbDirectory: $SM1_DIR/sm1ou1
 olcSubordinate: TRUE
 olcSuffix: ou=sm1ou1,$BASEDN
 olcRootDN: ou=sm1ou1,$BASEDN
@@ -533,9 +535,9 @@ olcRootPW: $PASSWD
 
 dn: olcDatabase={3}$BACKEND,cn=config
 objectClass: olcDatabaseConfig
-objectClass: olc${BACKEND}Config
+${nullExclude}objectClass: olc${BACKEND}Config
 olcDatabase: {3}$BACKEND
-olcDbDirectory: $SM1_DIR/sm1ou2
+${nullExclude}olcDbDirectory: $SM1_DIR/sm1ou2
 olcSubordinate: TRUE
 olcSuffix: ou=sm1ou2,$BASEDN
 olcRootDN: ou=sm1ou1,$BASEDN
@@ -570,9 +572,9 @@ fi
 $LDAPADD -D cn=config -H $URI3 -y $CONFIGPWF <<EOF >> $TESTOUT 2>&1
 dn: olcDatabase={1}$BACKEND,cn=config
 objectClass: olcDatabaseConfig
-objectClass: olc${BACKEND}Config
+${nullExclude}objectClass: olc${BACKEND}Config
 olcDatabase: {1}$BACKEND
-olcDbDirectory: $SM2_DIR/db
+${nullExclude}olcDbDirectory: $SM2_DIR/db
 olcSuffix: $BASEDN
 olcRootDN: $UPDATEDN
 
@@ -588,27 +590,27 @@ olcSpCheckpoint: 1 1
 
 dn: olcDatabase={1}$BACKEND,cn=config
 objectClass: olcDatabaseConfig
-objectClass: olc${BACKEND}Config
+${nullExclude}objectClass: olc${BACKEND}Config
 olcDatabase: {1}$BACKEND
-olcDbDirectory: $SM2_DIR/ou2
+${nullExclude}olcDbDirectory: $SM2_DIR/ou2
 olcSubordinate: TRUE
 olcSuffix: ou=ou2,$BASEDN
 olcRootDN: $UPDATEDN
 
 dn: olcDatabase={2}$BACKEND,cn=config
 objectClass: olcDatabaseConfig
-objectClass: olc${BACKEND}Config
+${nullExclude}objectClass: olc${BACKEND}Config
 olcDatabase: {2}$BACKEND
-olcDbDirectory: $SM2_DIR/sm1ou1
+${nullExclude}olcDbDirectory: $SM2_DIR/sm1ou1
 olcSubordinate: TRUE
 olcSuffix: ou=sm1ou1,$BASEDN
 olcRootDN: $UPDATEDN
 
 dn: olcDatabase={3}$BACKEND,cn=config
 objectClass: olcDatabaseConfig
-objectClass: olc${BACKEND}Config
+${nullExclude}objectClass: olc${BACKEND}Config
 olcDatabase: {3}$BACKEND
-olcDbDirectory: $SM2_DIR/sm2ou1
+${nullExclude}olcDbDirectory: $SM2_DIR/sm2ou1
 olcSubordinate: TRUE
 olcSuffix: ou=sm2ou1,$BASEDN
 olcRootDN: ou=sm2ou1,$BASEDN
@@ -616,9 +618,9 @@ olcRootPW: $PASSWD
 
 dn: olcDatabase={4}$BACKEND,cn=config
 objectClass: olcDatabaseConfig
-objectClass: olc${BACKEND}Config
+${nullExclude}objectClass: olc${BACKEND}Config
 olcDatabase: {4}$BACKEND
-olcDbDirectory: $SM2_DIR/sm2ou2
+${nullExclude}olcDbDirectory: $SM2_DIR/sm2ou2
 olcSubordinate: TRUE
 olcSuffix: ou=sm2ou2,$BASEDN
 olcRootDN: ou=sm2ou1,$BASEDN
@@ -720,9 +722,9 @@ echo "Adding database config on central search..."
 $LDAPADD -D cn=config -H $URI4 -y $CONFIGPWF <<EOF >> $TESTOUT 2>&1
 dn: olcDatabase={1}$BACKEND,cn=config
 objectClass: olcDatabaseConfig
-objectClass: olc${BACKEND}Config
+${nullExclude}objectClass: olc${BACKEND}Config
 olcDatabase: {1}$BACKEND
-olcDbDirectory: $SSC_DIR/db
+${nullExclude}olcDbDirectory: $SSC_DIR/db
 olcSuffix: $BASEDN
 olcRootDN: $UPDATEDN
 
@@ -738,9 +740,9 @@ echo "Adding database config on site1 search..."
 $LDAPADD -D cn=config -H $URI5 -y $CONFIGPWF <<EOF >> $TESTOUT 2>&1
 dn: olcDatabase={1}$BACKEND,cn=config
 objectClass: olcDatabaseConfig
-objectClass: olc${BACKEND}Config
+${nullExclude}objectClass: olc${BACKEND}Config
 olcDatabase: {1}$BACKEND
-olcDbDirectory: $SS1_DIR/db
+${nullExclude}olcDbDirectory: $SS1_DIR/db
 olcSuffix: $BASEDN
 olcRootDN: $UPDATEDN
 
@@ -756,9 +758,9 @@ echo "Adding database config on site2 search..."
 $LDAPADD -D cn=config -H $URI6 -y $CONFIGPWF <<EOF >> $TESTOUT 2>&1
 dn: olcDatabase={1}$BACKEND,cn=config
 objectClass: olcDatabaseConfig
-objectClass: olc${BACKEND}Config
+${nullExclude}objectClass: olc${BACKEND}Config
 olcDatabase: {1}$BACKEND
-olcDbDirectory: $SS2_DIR/db
+${nullExclude}olcDbDirectory: $SS2_DIR/db
 olcSuffix: $BASEDN
 olcRootDN: $UPDATEDN
 
@@ -841,7 +843,7 @@ for i in 1 2 3 4 5; do
        RESULT=`$LDAPSEARCH -H $URI2 \
                -s base -b "ou=ou1,$BASEDN" \
                '(objectClass=*)' 2>&1 | awk '/^dn:/ {print "OK"}'`
-       if test "x$RESULT" = "xOK" ; then
+       if test "x$RESULT$nullOK" = "xOK" ; then
                RC=0
                break
        fi
@@ -860,7 +862,7 @@ for i in 1 2 3 4 5; do
        RESULT=`$LDAPSEARCH -H $URI3 \
                -s base -b "ou=ou1,$BASEDN" \
                '(objectClass=*)' 2>&1 | awk '/^dn:/ {print "OK"}'`
-       if test "x$RESULT" = "xOK" ; then
+       if test "x$RESULT$nullOK" = "xOK" ; then
                RC=0
                break
        fi
@@ -961,7 +963,7 @@ for i in 1 2 3 4 5; do
        RESULT=`$LDAPSEARCH -H $URI1 \
                -s base -b "ou=sm2ou1,$BASEDN" \
                '(objectClass=*)' 2>&1 | awk '/^dn:/ {print "OK"}'`
-       if test "x$RESULT" = "xOK" ; then
+       if test "x$RESULT$nullOK" = "xOK" ; then
                RC=0
                break
        fi
@@ -1009,7 +1011,7 @@ for i in 1 2 3 4 5; do
        RESULT=`$LDAPSEARCH -H $URI1 \
                -s base -b "ou=sm1ou1,$BASEDN" \
                '(objectClass=*)' 2>&1 | awk '/^dn:/ {print "OK"}'`
-       if test "x$RESULT" = "xOK" ; then
+       if test "x$RESULT$nullOK" = "xOK" ; then
                RC=0
                break
        fi
@@ -1082,7 +1084,7 @@ for i in 1 2 3 4 5; do
        RESULT=`$LDAPSEARCH -H $URI4 \
                -s base -b "$BASEDN" \
                '(objectClass=*)' 2>&1 | awk '/^dn:/ {print "OK"}'`
-       if test "x$RESULT" = "xOK" ; then
+       if test "x$RESULT$nullOK" = "xOK" ; then
                RC=0
                break
        fi
@@ -1101,7 +1103,7 @@ for i in 1 2 3 4 5; do
        RESULT=`$LDAPSEARCH -H $URI5 \
                -s base -b "$BASEDN" \
                '(objectClass=*)' 2>&1 | awk '/^dn:/ {print "OK"}'`
-       if test "x$RESULT" = "xOK" ; then
+       if test "x$RESULT$nullOK" = "xOK" ; then
                RC=0
                break
        fi
@@ -1120,7 +1122,7 @@ for i in 1 2 3 4 5; do
        RESULT=`$LDAPSEARCH -H $URI6 \
                -s base -b "$BASEDN" \
                '(objectClass=*)' 2>&1 | awk '/^dn:/ {print "OK"}'`
-       if test "x$RESULT" = "xOK" ; then
+       if test "x$RESULT$nullOK" = "xOK" ; then
                RC=0
                break
        fi
@@ -1506,6 +1508,8 @@ ERRORS=`expr $ERRORS + $CSN_ERRORS`
 
 EOF
 
+test $BACKEND = null && echo : > $TESTDIR/checkcsn.sh
+
 chmod +x $TESTDIR/checkcsn.sh
 
 
@@ -1540,7 +1544,7 @@ for i in 1 2 3 4 5; do
        RESULT=`$LDAPSEARCH -H $URI4 \
                -s base -b "ou=ou1,$BASEDN" \
                "(description=Modify$MNUM)" 2>&1 | awk '/^dn:/ {print "OK"}'`
-       if test "x$RESULT" = "xOK" ; then
+       if test "x$RESULT$nullOK" = "xOK" ; then
                RC=0
                break
        fi
@@ -1559,7 +1563,7 @@ for i in 1 2 3 4 5; do
        RESULT=`$LDAPSEARCH -H $URI5 \
                -s base -b "ou=ou1,$BASEDN" \
                "(description=Modify$MNUM)" 2>&1 | awk '/^dn:/ {print "OK"}'`
-       if test "x$RESULT" = "xOK" ; then
+       if test "x$RESULT$nullOK" = "xOK" ; then
                RC=0
                break
        fi
@@ -1578,7 +1582,7 @@ for i in 1 2 3 4 5; do
        RESULT=`$LDAPSEARCH -H $URI6 \
                -s base -b "ou=ou1,$BASEDN" \
                "(description=Modify$MNUM)" 2>&1 | awk '/^dn:/ {print "OK"}'`
-       if test "x$RESULT" = "xOK" ; then
+       if test "x$RESULT$nullOK" = "xOK" ; then
                RC=0
                break
        fi
@@ -1621,7 +1625,7 @@ for i in 1 2 3 4 5; do
        RESULT=`$LDAPSEARCH -H $URI6 \
                -s base -b "ou=ou2,$BASEDN" \
                "(description=Modify$MNUM)" 2>&1 | awk '/^dn:/ {print "OK"}'`
-       if test "x$RESULT" = "xOK" ; then
+       if test "x$RESULT$nullOK" = "xOK" ; then
                RC=0
                break
        fi
@@ -1690,7 +1694,7 @@ for i in 1 2 3 4 5; do
        RESULT=`$LDAPSEARCH -H $URI5 \
                -s base -b "ou=sm1ou1,$BASEDN" \
                "(description=Modify$MNUM)" 2>&1 | awk '/^dn:/ {print "OK"}'`
-       if test "x$RESULT" = "xOK" ; then
+       if test "x$RESULT$nullOK" = "xOK" ; then
                RC=0
                break
        fi
@@ -1709,7 +1713,7 @@ for i in 1 2 3 4 5; do
        RESULT=`$LDAPSEARCH -H $URI3 \
                -s base -b "ou=sm1ou1,$BASEDN" \
                "(description=Modify$MNUM)" 2>&1 | awk '/^dn:/ {print "OK"}'`
-       if test "x$RESULT" = "xOK" ; then
+       if test "x$RESULT$nullOK" = "xOK" ; then
                RC=0
                break
        fi
@@ -1779,7 +1783,7 @@ for i in 1 2 3 4 5; do
        RESULT=`$LDAPSEARCH -H $URI5 \
                -s base -b "ou=sm1ou2,$BASEDN" \
                "(description=Modify$MNUM)" 2>&1 | awk '/^dn:/ {print "OK"}'`
-       if test "x$RESULT" = "xOK" ; then
+       if test "x$RESULT$nullOK" = "xOK" ; then
                RC=0
                break
        fi
@@ -1836,7 +1840,7 @@ for i in 1 2 3 4 5; do
        RESULT=`$LDAPSEARCH -H $URI1 \
                -s base -b "ou=sm2ou1,$BASEDN" \
                "(description=Modify$MNUM)" 2>&1 | awk '/^dn:/ {print "OK"}'`
-       if test "x$RESULT" = "xOK" ; then
+       if test "x$RESULT$nullOK" = "xOK" ; then
                RC=0
                break
        fi
@@ -1855,7 +1859,7 @@ for i in 1 2 3 4 5; do
        RESULT=`$LDAPSEARCH -H $URI6 \
                -s base -b "ou=sm2ou1,$BASEDN" \
                "(description=Modify$MNUM)" 2>&1 | awk '/^dn:/ {print "OK"}'`
-       if test "x$RESULT" = "xOK" ; then
+       if test "x$RESULT$nullOK" = "xOK" ; then
                RC=0
                break
        fi
@@ -1925,7 +1929,7 @@ for i in 1 2 3 4 5; do
        RESULT=`$LDAPSEARCH -H $URI6 \
                -s base -b "ou=sm2ou2,$BASEDN" \
                "(description=Modify$MNUM)" 2>&1 | awk '/^dn:/ {print "OK"}'`
-       if test "x$RESULT" = "xOK" ; then
+       if test "x$RESULT$nullOK" = "xOK" ; then
                RC=0
                break
        fi
@@ -2055,7 +2059,7 @@ for i in 1 2 3 4 5; do
        RESULT=`$LDAPSEARCH -H $URI3 \
                -s base -b "$BASEDN" \
                '(objectClass=*)' 2>&1 | awk '/^dn:/ {print "OK"}'`
-       if test "x$RESULT" = "xOK" ; then
+       if test "x$RESULT$nullOK" = "xOK" ; then
                RC=0
                break
        fi
@@ -2074,7 +2078,7 @@ for i in 1 2 3 4 5; do
        RESULT=`$LDAPSEARCH -H $URI6 \
                -s base -b "$BASEDN" \
                '(objectClass=*)' 2>&1 | awk '/^dn:/ {print "OK"}'`
-       if test "x$RESULT" = "xOK" ; then
+       if test "x$RESULT$nullOK" = "xOK" ; then
                RC=0
                break
        fi
@@ -2126,7 +2130,7 @@ for i in 1 2 3 4 5; do
        RESULT=`$LDAPSEARCH -H $URI1 \
                -s base -b "ou=sm1ou2,$BASEDN" \
                '(objectClass=*)' 2>&1 | awk '/^dn:/ {print "OK"}'`
-       if test "x$RESULT" = "xOK" ; then
+       if test "x$RESULT$nullOK" = "xOK" ; then
                RC=0
                break
        fi
@@ -2172,7 +2176,7 @@ if test $RC != 0 ; then
                RESULT=`$LDAPSEARCH -H $URI1 \
                        -s base -b "ou=sm1ou2,$BASEDN" \
                        '(objectClass=*)' 2>&1 | awk '/^dn:/ {print "OK"}'`
-               if test "x$RESULT" = "xOK" ; then
+               if test "x$RESULT$nullOK" = "xOK" ; then
                        RC=0
                        break
                fi
@@ -2192,7 +2196,7 @@ for i in 1 2 3 4 5; do
        RESULT=`$LDAPSEARCH -H $URI4 \
                -s base -b "ou=sm1ou2,$BASEDN" \
                '(objectClass=*)' 2>&1 | awk '/^dn:/ {print "OK"}'`
-       if test "x$RESULT" = "xOK" ; then
+       if test "x$RESULT$nullOK" = "xOK" ; then
                RC=0
                break
        fi
@@ -2238,7 +2242,7 @@ if test $RC != 0 ; then
                RESULT=`$LDAPSEARCH -H $URI4 \
                        -s base -b "ou=sm1ou2,$BASEDN" \
                        '(objectClass=*)' 2>&1 | awk '/^dn:/ {print "OK"}'`
-               if test "x$RESULT" = "xOK" ; then
+               if test "x$RESULT$nullOK" = "xOK" ; then
                        RC=0
                        break
                fi
@@ -2352,11 +2356,11 @@ EOF
        for i in 1 2 3 4 5; do
                $LDAPSEARCH -s base -b "$SUB_DN" -H $URI1 > /dev/null 2>&1
                RC=$?
-               if test $RC = 32; then break; fi
+               if test $RC = $wantNoObj; then break; fi
                sleep $i
        done
 
-       if test $RC != 32; then
+       if test $RC != $wantNoObj; then
                if test $RC != 0; then
                        echo "ldapsearch failed ($RC)!"
                        test $KILLSERVERS != no && kill -HUP $KILLPIDS
@@ -2376,7 +2380,7 @@ EOF
                sleep $i
        done
 
-       if test $RC != 32; then
+       if test $RC != $wantNoObj; then
                echo "ERROR: Entry not removed on central search! (RC=$RC)"
                RACE_ERROR=1
                break