Diff for /tests/scripts/test017-syncreplication-refresh between versions 1.12 and 1.18

version 1.12, 2003/10/13 08:14:05 version 1.18, 2003/11/28 19:00:23
Line 1 Line 1
 #! /bin/sh  #! /bin/sh
 # $OpenLDAP: pkg/ldap/tests/scripts/test017-syncreplication-refresh,v 1.11 2003/09/22 22:11:46 jongchoi Exp $  # $OpenLDAP: pkg/ldap/tests/scripts/test017-syncreplication-refresh,v 1.17 2003/11/05 15:10:43 jongchoi 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.
 fi  ##
   ## Redistribution and use in source and binary forms, with or without
 . $SRCDIR/scripts/args.sh $*  ## 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>.
   
 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 27  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 "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 58  done Line 51  done
   
 if test $RC != 0 ; then  if test $RC != 0 ; then
         echo "ldapsearch failed ($RC)!"          echo "ldapsearch failed ($RC)!"
         kill -HUP $PID          test $KILLSERVERS != no && kill -HUP $KILLPIDS
         exit $RC          exit $RC
 fi  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          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 95  done Line 89  done
   
 if test $RC != 0 ; then  if test $RC != 0 ; then
         echo "ldapsearch failed ($RC)!"          echo "ldapsearch failed ($RC)!"
         kill -HUP $PID          test $KILLSERVERS != no && kill -HUP $KILLPIDS
         exit $RC          exit $RC
 fi  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 $R1SLAVEPID          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 118  echo "Using ldapmodify to modify master Line 112  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 139  drink: Mad Dog 20/20 Line 133  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 191  changetype: delete Line 185  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 $R1SLAVEPID          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  echo "Filtering master results..."
 LDIF=$R1SLAVEOUT  . $LDIFFILTER < $MASTEROUT > $MASTERFLT
   echo "Filtering slave results..."
 echo "Filtering ldapsearch results..."  . $LDIFFILTER < $SLAVEOUT > $SLAVEFLT
 . $LDIFFILTER < $SEARCHOUT > $SEARCHFLT  
 echo "Filtering original ldif used to create database..."  
 . $LDIFFILTER < $LDIF > $R1LDIFFLT  
   
 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 235  if test $? != 0 ; then Line 233  if test $? != 0 ; then
 fi  fi
   
 echo ">>>>> Test succeeded"  echo ">>>>> Test succeeded"
   
   
 exit 0  exit 0

Removed from v.1.12  
changed lines
  Added in v.1.18


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