X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=tests%2Fscripts%2Ftest033-glue-syncrepl;h=253510b59139b1ba09a9d69bdd26975e93165e47;hb=2bbf9804b9286def13bbe5605d93ec1f7fdef456;hp=7e1f878f31892ff51114e4f96fa12b48032a15fc;hpb=941d418b3369e82338955f5080987ad382766bb3;p=openldap diff --git a/tests/scripts/test033-glue-syncrepl b/tests/scripts/test033-glue-syncrepl index 7e1f878f31..253510b591 100755 --- a/tests/scripts/test033-glue-syncrepl +++ b/tests/scripts/test033-glue-syncrepl @@ -1,7 +1,8 @@ #! /bin/sh +# $OpenLDAP$ */ ## This work is part of OpenLDAP Software . ## -## Copyright 1998-2005 The OpenLDAP Foundation. +## Copyright 1998-2012 The OpenLDAP Foundation. ## All rights reserved. ## ## Redistribution and use in source and binary forms, with or without @@ -12,14 +13,14 @@ ## top-level directory of the distribution or, alternatively, at ## . -if test "$BACKEND" != "bdb" && test "$BACKEND" != "hdb" ; then - echo "Test does not support $BACKEND" - exit 0 -fi - echo "running defines.sh" . $SRCDIR/scripts/defines.sh +if test $SYNCPROV = syncprovno; then + echo "Syncrepl provider overlay not available, test skipped" + exit 0 +fi + mkdir -p $TESTDIR $DBDIR1A $DBDIR1B $DBDIR1C $DBDIR2A $DBDIR2B echo "Running slapadd to build glued slapd databases..." @@ -31,7 +32,7 @@ if test $RC != 0 ; then exit $RC fi -rm -f $DBDIR1A/* $DBDIR1B/* +rm -rf $DBDIR1A/* $DBDIR1B/* cp -pr $DBDIR1C $DBDIR2C echo "Starting slapd 1 on TCP/IP port $PORT1..." @@ -127,12 +128,11 @@ case $RC in ;; esac -SLEEP=15 -echo "Waiting $SLEEP seconds for shadow subtrees to sync..." -sleep $SLEEP +echo "Waiting $SLEEP1 seconds for shadow subtrees to sync..." +sleep $SLEEP1 echo "Filtering original ldif used to create database..." -. $LDIFFILTER < $GLUESYNCOUT > $LDIFFLT +$LDIFFILTER < $GLUESYNCOUT > $LDIFFLT for P in $PORT1 $PORT2 ; do echo "Using ldapsearch to read all the entries from port $P..." @@ -147,7 +147,7 @@ for P in $PORT1 $PORT2 ; do fi echo "Filtering ldapsearch results..." - . $LDIFFILTER < "${SEARCHOUT}.${P}" > $SEARCHFLT + $LDIFFILTER < "${SEARCHOUT}.${P}" > $SEARCHFLT echo "Comparing filter output..." $CMP $SEARCHFLT $LDIFFLT > $CMPOUT @@ -158,7 +158,31 @@ for P in $PORT1 $PORT2 ; do fi done +echo "Testing ldapdelete propagation..." +$LDAPDELETE -D "cn=Manager 1,$BASEDN" -w $PASSWD -H $URI1 "$BABSDN" \ + > $TESTOUT 2>&1 +RC=$? +if test $RC != 0 ; then + echo "ldapdelete failed ($RC)!" + test $KILLSERVERS != no && kill -HUP $KILLPIDS + exit $RC +fi + +# This usually propagates immediately +sleep 1 + +$LDAPSEARCH -H $URI2 -b "$BABSDN" > $TESTOUT 2>&1 +RC=$? +if test $RC = 0 && test $BACKEND != null ; then + echo "ldapsearch should have failed ($RC)!" + test $KILLSERVERS != no && kill -HUP $KILLPIDS + exit -1 +fi + test $KILLSERVERS != no && kill -HUP $KILLPIDS echo ">>>>> Test succeeded" + +test $KILLSERVERS != no && wait + exit 0