]> git.sur5r.net Git - openldap/commitdiff
ITS#6368
authorQuanah Gibson-Mount <quanah@openldap.org>
Fri, 20 Nov 2009 23:13:34 +0000 (23:13 +0000)
committerQuanah Gibson-Mount <quanah@openldap.org>
Fri, 20 Nov 2009 23:13:34 +0000 (23:13 +0000)
CHANGES
tests/scripts/test050-syncrepl-multimaster

diff --git a/CHANGES b/CHANGES
index 57acb30d6999b2b33ea6b469960be06f4c44c355..b0382b36e2973cf1a763b7a5f01e7f329729d1c6 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -39,6 +39,7 @@ OpenLDAP 2.4.20 Engineering
                Added additional operations for ITS#6332
                Fixed memrchr define (ITS#6351)
                Fixed slapd MAXPATHLEN handling (ITS#6342)
+               Added test050 rapid add/mod/del sequence (ITS#6368)
                Fixed test057 handling of memberof/refint (ITS#6343)
                Fixed slapd test error ignoring (ITS#6345)
                Fixed liblutil constant (ITS#5909)
index 1b3c90ce60d90b3edc397f964d2f686786898239..4eaff2bfcb427189eaf13a07b62d208105d2b760 100755 (executable)
@@ -674,9 +674,71 @@ n=`expr $n + 1`
 done
 
 # Insert modifications and more tests here.
+echo "Waiting $SLEEP2 seconds for servers to resync..."
+sleep $SLEEP2
+
+echo "Using ldapmodify to add/modify/delete entries from server 1..."
+for i in 1 2 3 4 5 6 7 8 9 10; do
+echo "  iteration $i"
+$LDAPMODIFY -D "$MANAGERDN" -H $URI1 -w $PASSWD \
+       >> $TESTOUT 2>&1 << EOMODS
+dn: cn=Add-Mod-Del,dc=example,dc=com
+changetype: add
+cn: Add/Mod/Del
+objectclass: organizationalRole
+
+dn: cn=Add-Mod-Del,dc=example,dc=com
+changetype: modify
+replace: description
+description: guinea pig
+-
+
+dn: cn=Add-Mod-Del,dc=example,dc=com
+changetype: delete
+EOMODS
+RC=$?
+if test $RC != 0 ; then
+       echo "ldapmodify failed for server 1 database ($RC)!"
+       test $KILLSERVERS != no && kill -HUP $KILLPIDS
+       exit $RC
+fi
+done
+
 echo "Waiting $SLEEP1 seconds for servers to resync..."
 sleep $SLEEP1
 
+n=1
+while [ $n -le $MMR ]; do
+PORT=`expr $BASEPORT + $n`
+URI="ldap://${LOCALHOST}:$PORT/"
+
+echo "Using ldapsearch to read all the entries from server $n..."
+$LDAPSEARCH -S "" -b "$BASEDN" -D "$MANAGERDN" -H $URI -w $PASSWD  \
+       'objectclass=*' > $TESTDIR/server$n.out 2>&1
+RC=$?
+
+if test $RC != 0 ; then
+       echo "ldapsearch failed at server $n ($RC)!"
+       test $KILLSERVERS != no && kill -HUP $KILLPIDS
+       exit $RC
+fi
+. $LDIFFILTER < $TESTDIR/server$n.out > $TESTDIR/server$n.flt
+n=`expr $n + 1`
+done
+
+n=2
+while [ $n -le $MMR ]; do
+echo "Comparing retrieved entries from server 1 and server $n..."
+$CMP $MASTERFLT $TESTDIR/server$n.flt > $CMPOUT
+
+if test $? != 0 ; then
+       echo "test failed - server 1 and server $n databases differ"
+       test $KILLSERVERS != no && kill -HUP $KILLPIDS
+       exit 1
+fi
+n=`expr $n + 1`
+done
+
 test $KILLSERVERS != no && kill -HUP $KILLPIDS
 
 echo ">>>>> Test succeeded"