1#! /bin/sh 2# $OpenLDAP: pkg/ldap/tests/scripts/test008-concurrency,v 1.40.2.3 2008/02/11 23:26:51 kurt Exp $ 3## This work is part of OpenLDAP Software <http://www.openldap.org/>. 4## 5## Copyright 1998-2008 The OpenLDAP Foundation. 6## All rights reserved. 7## 8## Redistribution and use in source and binary forms, with or without 9## modification, are permitted only as authorized by the OpenLDAP 10## Public License. 11## 12## A copy of this license is available in the file LICENSE in the 13## top-level directory of the distribution or, alternatively, at 14## <http://www.OpenLDAP.org/license.html>. 15 16echo "running defines.sh" 17. $SRCDIR/scripts/defines.sh 18 19mkdir -p $TESTDIR $DBDIR1 20 21echo "Running slapadd to build slapd database..." 22. $CONFFILTER $BACKEND $MONITORDB < $CONF > $CONF1 23$SLAPADD -f $CONF1 -l $LDIFORDERED -d -1 2> $SLAPADDLOG1 24RC=$? 25if test $RC != 0 ; then 26 echo "slapadd failed ($RC)!" 27 exit $RC 28fi 29 30echo "Starting slapd on TCP/IP port $PORT1..." 31$SLAPD -f $CONF1 -h $URI1 -d $LVL $TIMING > $LOG1 2>&1 & 32PID=$! 33if test $WAIT != 0 ; then 34 echo PID $PID 35 read foo 36fi 37KILLPIDS="$PID" 38 39sleep 1 40 41echo "Using ldapsearch to check that slapd is running..." 42for i in 0 1 2 3 4 5; do 43 $LDAPSEARCH -s base -b "$MONITOR" -h $LOCALHOST -p $PORT1 \ 44 'objectclass=*' > /dev/null 2>&1 45 RC=$? 46 if test $RC = 0 ; then 47 break 48 fi 49 echo "Waiting 5 seconds for slapd to start..." 50 sleep 5 51done 52 53echo "Using tester for concurrent server access..." 54time $SLAPDTESTER -P "$PROGDIR" -d "$DATADIR" -h $LOCALHOST -p $PORT1 -D "$MANAGERDN" -w $PASSWD -l 50 55#$SLAPDTESTER -P "$PROGDIR" -d "$DATADIR" -h $LOCALHOST -p $PORT1 -D "$MANAGERDN" -w $PASSWD -l 50 56RC=$? 57 58if test $RC != 0 ; then 59 echo "slapd-tester failed ($RC)!" 60 test $KILLSERVERS != no && kill -HUP $KILLPIDS 61 exit $RC 62fi 63 64echo "Using ldapsearch to retrieve all the entries..." 65$LDAPSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT1 \ 66 'objectClass=*' > $SEARCHOUT 2>&1 67RC=$? 68 69test $KILLSERVERS != no && kill -HUP $KILLPIDS 70 71if test $RC != 0 ; then 72 echo "ldapsearch failed ($RC)!" 73 exit $RC 74fi 75 76echo "Filtering ldapsearch results..." 77. $LDIFFILTER < $SEARCHOUT > $SEARCHFLT 78echo "Filtering original ldif used to create database..." 79. $LDIFFILTER < $LDIF > $LDIFFLT 80echo "Comparing filter output..." 81$CMP $SEARCHFLT $LDIFFLT > $CMPOUT 82 83if test $? != 0 ; then 84 echo "comparison failed - database was not created correctly" 85 exit 1 86fi 87 88echo ">>>>> Test succeeded" 89 90test $KILLSERVERS != no && wait 91 92exit 0 93