X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;ds=sidebyside;f=tests%2Fscripts%2Ftest009-referral;h=0f44d3ab9c265c54686933a54189154b0f33bbc1;hb=accd19edbccfc6442a770dfcbbb45f23e3482fd3;hp=00a352393518bb7e05c205e39420410229fe5fd3;hpb=071b9466c444da7df70491fdca4c53f9f98daa31;p=openldap diff --git a/tests/scripts/test009-referral b/tests/scripts/test009-referral index 00a3523935..0f44d3ab9c 100755 --- a/tests/scripts/test009-referral +++ b/tests/scripts/test009-referral @@ -2,7 +2,7 @@ # $OpenLDAP$ ## This work is part of OpenLDAP Software . ## -## Copyright 1998-2004 The OpenLDAP Foundation. +## Copyright 1998-2012 The OpenLDAP Foundation. ## All rights reserved. ## ## Redistribution and use in source and binary forms, with or without @@ -20,7 +20,7 @@ echo "running defines.sh" # Test default referral # -mkdir $TESTDIR $DBDIR1 $DBDIR2 +mkdir -p $TESTDIR $DBDIR1 $DBDIR2 echo "Running slapadd to build slapd database..." . $CONFFILTER $BACKEND $MONITORDB < $CONF > $CONF1 @@ -50,6 +50,8 @@ fi KILLPIDS="$PID $SLAVEPID" +sleep 1 + echo "Testing for master slapd..." for i in 0 1 2 3 4 5; do $LDAPSEARCH -s base -b "$MONITOR" -h $LOCALHOST -p $PORT1 \ @@ -143,15 +145,27 @@ if test $RC != 0 ; then exit $RC fi +echo "Testing dontUseCopy control..." +$LDAPSEARCH -C -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT2 \ + -E \!dontUseCopy \ + 'sn=jensen' >> $SEARCHOUT +RC=$? +if test $RC = 10 ; then + echo "ldapsearch failed as expected ($RC)" +else + echo "ldapsearch did not error as expected ($RC)!" + test $KILLSERVERS != no && kill -HUP $KILLPIDS + exit $RC +fi test $KILLSERVERS != no && kill -HUP $KILLPIDS LDIF=$SEARCHOUTMASTER echo "Filtering ldapsearch results..." -. $LDIFFILTER < $SEARCHOUT > $SEARCHFLT +$LDIFFILTER < $SEARCHOUT > $SEARCHFLT echo "Filtering original ldif used to create database..." -. $LDIFFILTER < $LDIF > $LDIFFLT +$LDIFFILTER < $LDIF > $LDIFFLT echo "Comparing filter output..." $CMP $SEARCHFLT $LDIFFLT > $CMPOUT @@ -161,4 +175,7 @@ if test $? != 0 ; then fi echo ">>>>> Test succeeded" + +test $KILLSERVERS != no && wait + exit 0