Diff for /tests/scripts/test017-syncreplication-refresh between versions 1.11 and 1.19

version 1.11, 2003/09/22 22:11:46 version 1.19, 2003/12/01 01:59:58
Line 1 Line 1
 #! /bin/sh  #! /bin/sh
 # $OpenLDAP: pkg/ldap/tests/scripts/test017-syncreplication-refresh,v 1.10 2003/09/05 16:11:39 jongchoi Exp $  # $OpenLDAP: pkg/ldap/tests/scripts/test017-syncreplication-refresh,v 1.18 2003/11/28 19:00:23 kurt Exp $
   ## This work is part of OpenLDAP Software <http://www.openldap.org/>.
 SRCDIR="."  ##
 if test $# -ge 1 ; then  ## Copyright 1998-2003 The OpenLDAP Foundation.
         SRCDIR=$1; shift  ## All rights reserved.
   ##
   ## Redistribution and use in source and binary forms, with or without
   ## modification, are permitted only as authorized by the OpenLDAP
   ## Public License.
   ##
   ## A copy of this license is available in the file LICENSE in the
   ## top-level directory of the distribution or, alternatively, at
   ## <http://www.OpenLDAP.org/license.html>.
   
   if test "$BACKEND" != "bdb" -o "$BACKEND" != "hdb" -o ; then
           echo "Test does not support $BACKEND"
           exit 0
 fi  fi
   
 . $SRCDIR/scripts/args.sh $*  
   
 echo "running defines.sh"  echo "running defines.sh"
 . $SRCDIR/scripts/defines.sh  . $SRCDIR/scripts/defines.sh
   
   mkdir -p $TESTDIR $DBDIR1 $DBDIR2 $DBDIR3
   
 #  #
 # Test replication:  # Test replication:
 # - start master  # - start master
Line 20  echo "running defines.sh" Line 32  echo "running defines.sh"
 # - retrieve database over ldap and compare against expected results  # - retrieve database over ldap and compare against expected results
 #  #
   
 echo "Cleaning up in $DBDIR..."  echo "Starting master slapd on TCP/IP port $PORT1..."
 rm -f $DBDIR/[!C]*  . $CONFFILTER $BACKEND $MONITORDB < $SRMASTERCONF > $CONF1
 echo "Resetting $R1REPLDIR..."  $SLAPD -f $CONF1 -h $URI1 -d $LVL $TIMING > $LOG1 2>&1 &
 rm -rf $R1REPLDIR  
 mkdir $R1REPLDIR  
   
 SAVE=$BACKEND  
 if test $BACKEND = ldbm; then  
         if test $SYNCREPL = no; then  
                 echo "Sync replication requires back-bdb or back-hdb"  
                 exit 0  
         fi  
         BACKEND=$SYNCREPL  
 fi  
 echo "Starting master slapd on TCP/IP port $PORT..."  
 . $CONFFILTER $BACKEND $MONITORDB < $SRMASTERCONF > $DBCONF  
 $SLAPD -f $DBCONF -h $MASTERURI -d $LVL $TIMING > $MASTERLOG 2>&1 &  
 PID=$!  PID=$!
 if test $WAIT != 0 ; then  if test $WAIT != 0 ; then
     echo PID $PID      echo PID $PID
     read foo      read foo
 fi  fi
 BACKEND=$SAVE  KILLPIDS="$PID"
   
 echo "Waiting 5 seconds to wait for master to start..."  
 sleep 5  
   
 echo "Using ldapsearch to check that master slapd is running..."  echo "Using ldapsearch to check that master slapd is running..."
 for i in 0 1 2 3 4 5; do  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 $PORT1 \
                 'objectclass=*' > /dev/null 2>&1                  'objectclass=*' > /dev/null 2>&1
         RC=$?          RC=$?
         if test $RC = 0 ; then          if test $RC = 0 ; then
Line 59  for i in 0 1 2 3 4 5; do Line 54  for i in 0 1 2 3 4 5; do
         sleep 5          sleep 5
 done  done
   
   if test $RC != 0 ; then
           echo "ldapsearch failed ($RC)!"
           test $KILLSERVERS != no && kill -HUP $KILLPIDS
           exit $RC
   fi
   
 echo "Using ldapadd to create the context prefix entry in the master..."  echo "Using ldapadd to create the context prefix entry in the master..."
 $LDAPADD -D "$MANAGERDN" -h $LOCALHOST -p $PORT -w $PASSWD < \  $LDAPADD -D "$MANAGERDN" -h $LOCALHOST -p $PORT1 -w $PASSWD < \
         $LDIFORDEREDCP > /dev/null 2>&1          $LDIFORDEREDCP > /dev/null 2>&1
 RC=$?  RC=$?
 if test $RC != 0 ; then  if test $RC != 0 ; then
         echo "ldapadd failed ($RC)!"          echo "ldapadd failed ($RC)!"
         kill -HUP $PID $SLAVEPID          test $KILLSERVERS != no && kill -HUP $KILLPIDS
         exit $RC          exit $RC
 fi  fi
   
 echo "Starting slave slapd on TCP/IP port $R1SLAVEPORT..."  echo "Starting slave slapd on TCP/IP port $PORT2..."
 . $CONFFILTER $BACKEND $MONITORDB < $R1SRSLAVECONF > $R1REPLCONF  . $CONFFILTER $BACKEND $MONITORDB < $R1SRSLAVECONF > $CONF2
 $SLAPD -f $R1REPLCONF -h $R1SLAVEURI -d $LVL $TIMING > $R1SLAVELOG 2>&1 &  $SLAPD -f $CONF2 -h $URI2 -d $LVL $TIMING > $LOG2 2>&1 &
 R1SLAVEPID=$!  SLAVEPID=$!
 if test $WAIT != 0 ; then  if test $WAIT != 0 ; then
     echo SLAVEPID $R1SLAVEPID      echo SLAVEPID $SLAVEPID
     read foo      read foo
 fi  fi
   KILLPIDS="$KILLPIDS $SLAVEPID"
   
 echo "Using ldapsearch to check that slave slapd is running..."  echo "Using ldapsearch to check that slave slapd is running..."
 for i in 0 1 2 3 4 5; do  for i in 0 1 2 3 4 5; do
         $LDAPSEARCH -s base -b "$MONITOR" -h $LOCALHOST -p $R1SLAVEPORT \          $LDAPSEARCH -s base -b "$MONITOR" -h $LOCALHOST -p $PORT2 \
                 'objectclass=*' > /dev/null 2>&1                  'objectclass=*' > /dev/null 2>&1
         RC=$?          RC=$?
         if test $RC = 0 ; then          if test $RC = 0 ; then
Line 90  for i in 0 1 2 3 4 5; do Line 92  for i in 0 1 2 3 4 5; do
         sleep 5          sleep 5
 done  done
   
   if test $RC != 0 ; then
           echo "ldapsearch failed ($RC)!"
           test $KILLSERVERS != no && kill -HUP $KILLPIDS
           exit $RC
   fi
   
 echo "Using ldapadd to populate the master directory..."  echo "Using ldapadd to populate the master directory..."
 $LDAPADD -D "$MANAGERDN" -h $LOCALHOST -p $PORT -w $PASSWD < \  $LDAPADD -D "$MANAGERDN" -h $LOCALHOST -p $PORT1 -w $PASSWD < \
         $LDIFORDEREDNOCP > /dev/null 2>&1          $LDIFORDEREDNOCP > /dev/null 2>&1
 RC=$?  RC=$?
 if test $RC != 0 ; then  if test $RC != 0 ; then
         echo "ldapadd failed ($RC)!"          echo "ldapadd failed ($RC)!"
         kill -HUP $PID $SLAVEPID          test $KILLSERVERS != no && kill -HUP $KILLPIDS
         exit $RC          exit $RC
 fi  fi
   
 echo "Waiting 90 seconds for syncrepl to receive changes..."  echo "Waiting 15 seconds for syncrepl to receive changes..."
 sleep 90  sleep 15
   
 echo "Using ldapmodify to modify master directory..."  echo "Using ldapmodify to modify master directory..."
   
Line 109  echo "Using ldapmodify to modify master Line 117  echo "Using ldapmodify to modify master
 # Do some modifications  # Do some modifications
 #  #
   
 $LDAPMODIFY -v -D "$MANAGERDN" -h $LOCALHOST -p $PORT -w $PASSWD > \  $LDAPMODIFY -v -D "$MANAGERDN" -h $LOCALHOST -p $PORT1 -w $PASSWD > \
         $TESTOUT 2>&1 << EOMODS          $TESTOUT 2>&1 << EOMODS
 dn: cn=James A Jones 1, ou=Alumni Association, ou=People, o=University of Michigan, c=US  dn: cn=James A Jones 1, ou=Alumni Association, ou=People, o=University of Michigan, c=US
 changetype: modify  changetype: modify
Line 130  drink: Mad Dog 20/20 Line 138  drink: Mad Dog 20/20
   
 dn: cn=ITD Staff,ou=Groups,o=University of Michigan,c=US  dn: cn=ITD Staff,ou=Groups,o=University of Michigan,c=US
 changetype: modify  changetype: modify
 delete: member  delete: uniquemember
 member: cn=James A Jones 2, ou=Information Technology Division, ou=People, o=University of Michigan, c=US  uniquemember: cn=James A Jones 2, ou=Information Technology Division, ou=People, o=University of Michigan, c=US
 member: cn=Bjorn Jensen, ou=Information Technology Division, ou=People, o=University of Michigan, c=US  uniquemember: cn=Bjorn Jensen, ou=Information Technology Division, ou=People, o=University of Michigan, c=US
 -  -
 add: member  add: uniquemember
 member: cn=Dorothy Stevens, ou=Alumni Association, ou=People, o=University of Michigan, c=US  uniquemember: cn=Dorothy Stevens, ou=Alumni Association, ou=People, o=University of Michigan, c=US
 member: cn=James A Jones 1, ou=Alumni Association, ou=People, o=University of Michigan, c=US  uniquemember: cn=James A Jones 1, ou=Alumni Association, ou=People, o=University of Michigan, c=US
   
 dn: cn=All Staff,ou=Groups,o=University of Michigan,c=US  dn: cn=All Staff,ou=Groups,o=University of Michigan,c=US
 changetype: modify  changetype: modify
Line 182  changetype: delete Line 190  changetype: delete
   
 EOMODS  EOMODS
   
 echo "Waiting 90 seconds for syncrepl to receive changes..."  RC=$?
 sleep 90  if test $RC != 0 ; then
           echo "ldapmodify failed ($RC)!"
           test $KILLSERVERS != no && kill -HUP $KILLPIDS
           exit $RC
   fi
   
   echo "Waiting 15 seconds for syncrepl to receive changes..."
   sleep 15
   
 echo "Using ldapsearch to read all the entries from the master..."  echo "Using ldapsearch to read all the entries from the master..."
 $LDAPSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT \  $LDAPSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT1 \
         'objectclass=*' > $MASTEROUT 2>&1          'objectclass=*' > $MASTEROUT 2>&1
 RC=$?  RC=$?
   
 if test $RC != 0 ; then  if test $RC != 0 ; then
         echo "ldapsearch failed at master ($RC)!"          echo "ldapsearch failed at master ($RC)!"
         kill -HUP $PID $SLAVEPID          test $KILLSERVERS != no && kill -HUP $KILLPIDS
         exit $RC          exit $RC
 fi  fi
   
 echo "Using ldapsearch to read all the entries from the slave..."  echo "Using ldapsearch to read all the entries from the slave..."
 $LDAPSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $R1SLAVEPORT \  $LDAPSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT2 \
         'objectclass=*' > $R1SLAVEOUT 2>&1          'objectclass=*' > $SLAVEOUT 2>&1
 RC=$?  RC=$?
   
 if test $RC != 0 ; then  if test $RC != 0 ; then
         echo "ldapsearch failed at slave ($RC)!"          echo "ldapsearch failed at slave ($RC)!"
         kill -HUP $PID $R1SLAVEPID          test $KILLSERVERS != no && kill -HUP $KILLPIDS
         exit $RC          exit $RC
 fi  fi
   
 kill -HUP $PID $R1SLAVEPID  test $KILLSERVERS != no && kill -HUP $KILLPIDS
   
 SEARCHOUT=$MASTEROUT  
 LDIF=$R1SLAVEOUT  
   
 echo "Filtering ldapsearch results..."  echo "Filtering master results..."
 . $LDIFFILTER < $SEARCHOUT > $SEARCHFLT  . $LDIFFILTER < $MASTEROUT > $MASTERFLT
 echo "Filtering original ldif used to create database..."  echo "Filtering slave results..."
 . $LDIFFILTER < $LDIF > $R1LDIFFLT  . $LDIFFILTER < $SLAVEOUT > $SLAVEFLT
   
 echo "Comparing retrieved entries from master and slave..."  echo "Comparing retrieved entries from master and slave..."
 $CMP $SEARCHFLT $R1LDIFFLT > $CMPOUT  $CMP $MASTERFLT $SLAVEFLT > $CMPOUT
   
 if test $? != 0 ; then  if test $? != 0 ; then
         echo "test failed - master and slave databases differ"          echo "test failed - master and slave databases differ"
Line 226  if test $? != 0 ; then Line 238  if test $? != 0 ; then
 fi  fi
   
 echo ">>>>> Test succeeded"  echo ">>>>> Test succeeded"
   
   
 exit 0  exit 0

Removed from v.1.11  
changed lines
  Added in v.1.19


______________
© Copyright 1998-2020, OpenLDAP Foundation, info@OpenLDAP.org