]> git.sur5r.net Git - openldap/blobdiff - tests/scripts/test018-syncreplication-persist
ITS#3671 must release conn->c_mutex to allow blocked writers to exit
[openldap] / tests / scripts / test018-syncreplication-persist
index 2c4a9b44eb6935b47b01d4a25994a784317470af..b08c7facebc5de820a4115030f1b65d8cd2a6302 100755 (executable)
@@ -34,6 +34,7 @@ mkdir -p $TESTDIR $DBDIR1 $DBDIR4
 # - start slave
 # - populate over ldap
 # - perform some modifies and deleted
+# - attempt to modify the slave (referral or chain)
 # - retrieve database over ldap and compare against expected results
 #
 
@@ -116,6 +117,36 @@ fi
 echo "Waiting 15 seconds for syncrepl to receive changes..."
 sleep 15
 
+echo "Stopping the provider, sleeping 10 seconds and restarting it..."
+kill -HUP "$PID"
+sleep 10
+echo "RESTART" >> $LOG1
+$SLAPD -f $CONF1 -h $URI1 -d $LVL $TIMING >> $LOG1 2>&1 &
+PID=$!
+if test $WAIT != 0 ; then
+    echo PID $PID
+    read foo
+fi
+KILLPIDS="$PID $SLAVEPID"
+
+echo "Using ldapsearch to check that master slapd is running..."
+for i in 0 1 2 3 4 5; do
+       $LDAPSEARCH -s base -b "$MONITOR" -h $LOCALHOST -p $PORT1 \
+               'objectclass=*' > /dev/null 2>&1
+       RC=$?
+       if test $RC = 0 ; then
+               break
+       fi
+       echo "Waiting 5 seconds for slapd to start..."
+       sleep 5
+done
+
+if test $RC != 0 ; then
+       echo "ldapsearch failed ($RC)!"
+       test $KILLSERVERS != no && kill -HUP $KILLPIDS
+       exit $RC
+fi
+
 echo "Using ldapmodify to modify master directory..."
 
 #
@@ -242,7 +273,7 @@ KILLPIDS="$PID $SLAVEPID"
 echo "Waiting 25 seconds for syncrepl to receive changes..."
 sleep 25
 
-echo "Try updating the slave..."
+echo "Try updating the slave slapd..."
 $LDAPMODIFY -v -D "$MANAGERDN" -h $LOCALHOST -p $PORT4 -w $PASSWD > \
        $TESTOUT 2>&1 << EOMODS
 dn: cn=James A Jones 1, ou=Alumni Association, ou=People, dc=example, dc=com
@@ -271,8 +302,8 @@ else
                exit $RC
        fi
 
-       echo "Waiting 5 seconds for slurpd to send changes..."
-       sleep 5
+       echo "Waiting 15 seconds for syncrepl to receive changes..."
+       sleep 15
 fi
 
 echo "Using ldapsearch to read all the entries from the master..."