]> git.sur5r.net Git - openldap/blobdiff - tests/scripts/test009-referral
fix ITS#2289 (don't use shared data for search state; use msgid instead)
[openldap] / tests / scripts / test009-referral
index 7f93c039de24f3eddb43b5e2075bc17f69cb06aa..fa03a8126d8eaa0d3360cfe34e4def33642da3a4 100755 (executable)
@@ -9,6 +9,10 @@ BACKEND=bdb
 if test $# -ge 1 ; then
        BACKEND=$1; shift
 fi
+MONITORDB=no
+if test $# -ge 1 ; then
+       MONITORDB=$1; shift
+fi
 WAIT=0
 if test $# -ge 1 ; then
        WAIT=1; shift
@@ -28,7 +32,7 @@ rm -f $DBDIR/[!C]*
 rm -f $REPLDIR/[!C]*
 
 echo "Running slapadd to build slapd database..."
-. $CONFFILTER $BACKEND < $CONF > $DBCONF
+. $CONFFILTER $BACKEND $MONITORDB < $CONF > $DBCONF
 $SLAPADD -f $DBCONF -l $LDIFORDERED
 RC=$?
 if test $RC != 0 ; then
@@ -45,7 +49,7 @@ if test $WAIT != 0 ; then
 fi
 
 echo "Starting slave slapd on TCP/IP port $SLAVEPORT..."
-. $CONFFILTER $BACKEND < $REFSLAVECONF > $REPLCONF
+. $CONFFILTER $BACKEND $MONITORDB < $REFSLAVECONF > $REPLCONF
 $SLAPD -n slave -f $REPLCONF -h $SLAVEURI -d $LVL $TIMING > $SLAVELOG 2>&1 &
 SLAVEPID=$!
 if test $WAIT != 0 ; then
@@ -55,13 +59,14 @@ fi
 
 echo "Testing for master slapd..."
 for i in 0 1 2 3 4 5; do
-       $LDAPSEARCH -s base -b "$MONITOR" -h localhost -p $PORT \
+       $LDAPSEARCH -s base -b "$MONITOR" -h $LOCALHOST -p $PORT \
                'objectclass=*' > /dev/null 2>&1
        RC=$?
-       if test $RC = 1 ; then
-               echo "Waiting 5 seconds for slapd to start..."
-               sleep 5
+       if test $RC = 0 ; then
+               break
        fi
+       echo "Waiting 5 seconds for slapd to start..."
+       sleep 5
 done
 
 if test $RC != 0 ; then
@@ -72,20 +77,22 @@ fi
 
 echo "Testing for slave slapd..."
 for i in 0 1 2 3 4 5; do
-       $LDAPSEARCH -s base -b "$MONITOR" -h localhost -p $SLAVEPORT \
+       $LDAPSEARCH -s base -b "$MONITOR" -h $LOCALHOST -p $SLAVEPORT \
                'objectclass=*' > /dev/null 2>&1
        RC=$?
-       if test $RC = 1 ; then
-               echo "Waiting 5 seconds for slapd to start..."
-               sleep 5
+       if test $RC = 0 ; then
+               break
        fi
+       echo "Waiting 5 seconds for slapd to start..."
+       sleep 5
 done
 
 cat /dev/null > $SEARCHOUT
 
 echo "Testing exact searching..."
-$LDAPSEARCH -C -S "" -b "$BASEDN" -h localhost -p $SLAVEPORT \
+$LDAPSEARCH -C -S "" -b "$BASEDN" -h $LOCALHOST -p $SLAVEPORT \
        'sn=jensen' >> $SEARCHOUT 2>&1
+RC=$?
 if test $RC != 0 ; then
        echo "ldapsearch failed ($RC)!"
        kill -HUP $PID $SLAVEPID
@@ -93,8 +100,9 @@ if test $RC != 0 ; then
 fi
 
 echo "Testing OR searching..."
-$LDAPSEARCH -C -S "" -b "$BASEDN" -h localhost -p $SLAVEPORT \
+$LDAPSEARCH -C -S "" -b "$BASEDN" -h $LOCALHOST -p $SLAVEPORT \
        '(|(objectclass=groupofnames)(sn=jones))' >> $SEARCHOUT 2>&1
+RC=$?
 if test $RC != 0 ; then
        echo "ldapsearch failed ($RC)!"
        kill -HUP $PID $SLAVEPID
@@ -102,8 +110,9 @@ if test $RC != 0 ; then
 fi
 
 echo "Testing AND matching and ends-with searching..."
-$LDAPSEARCH -C -S "" -b "$BASEDN" -h localhost -p $SLAVEPORT \
+$LDAPSEARCH -C -S "" -b "ou=groups,$BASEDN" -s one -h $LOCALHOST -p $SLAVEPORT \
        '(&(objectclass=groupofnames)(cn=A*))' >> $SEARCHOUT 2>&1
+RC=$?
 if test $RC != 0 ; then
        echo "ldapsearch failed ($RC)!"
        kill -HUP $PID $SLAVEPID
@@ -111,14 +120,27 @@ if test $RC != 0 ; then
 fi
 
 echo "Testing NOT searching..."
-$LDAPSEARCH -C -S "" -b "$BASEDN" -h localhost -p $SLAVEPORT \
-       '(!(objectclass=person))' >> $SEARCHOUT 2>&1
+$LDAPSEARCH -C -S "" -b "$BASEDN" -h $LOCALHOST -p $SLAVEPORT \
+       '(!(objectclass=pilotPerson))' >> $SEARCHOUT 2>&1
+RC=$?
 if test $RC != 0 ; then
        echo "ldapsearch failed ($RC)!"
        kill -HUP $PID $SLAVEPID
        exit $RC
 fi
 
+echo "Testing objectClass/attributeType inheritance ..."
+$LDAPSEARCH -M -a never -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT \
+       '(&(objectClass=inetorgperson)(userid=uham))' \
+       "2.5.4.0" "userid" >> $SEARCHOUT 2>&1
+RC=$?
+if test $RC != 0 ; then
+       echo "ldapsearch failed ($RC)!"
+       kill -HUP $PID
+       exit $RC
+fi
+
+
 kill -HUP $PID $SLAVEPID
 
 LDIF=$SEARCHOUTMASTER