1#! /bin/sh 2# $OpenLDAP$ 3## This work is part of OpenLDAP Software <http://www.openldap.org/>. 4## 5## Copyright 1998-2021 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 "Starting slapd on TCP/IP port $PORT1..." 22. $CONFFILTER $BACKEND < $CONF > $CONF1 23$SLAPD -f $CONF1 -h $URI1 -d $LVL > $LOG1 2>&1 & 24PID=$! 25if test $WAIT != 0 ; then 26 echo PID $PID 27 read foo 28fi 29KILLPIDS="$PID" 30 31sleep 1 32 33echo "Using ldapsearch to check that slapd is running..." 34for i in 0 1 2 3 4 5; do 35 $LDAPSEARCH -s base -b "$MONITOR" -H $URI1 \ 36 'objectclass=*' > /dev/null 2>&1 37 RC=$? 38 if test $RC = 0 ; then 39 break 40 fi 41 echo "Waiting 5 seconds for slapd to start..." 42 sleep 5 43done 44 45echo "Using ldapadd to populate the database..." 46$LDAPADD -D "$MANAGERDN" -H $URI1 -w $PASSWD < \ 47 $LDIFORDERED > $TESTOUT 2>&1 48RC=$? 49if test $RC != 0 ; then 50 echo "ldapadd failed ($RC)!" 51 test $KILLSERVERS != no && kill -HUP $KILLPIDS 52 exit $RC 53fi 54 55echo "Using ldapsearch to read all the entries..." 56$LDAPSEARCH -S "" -b "$BASEDN" -H $URI1 \ 57 'objectclass=*' > $SEARCHOUT 2>&1 58RC=$? 59 60test $KILLSERVERS != no && kill -HUP $KILLPIDS 61 62if test $RC != 0 ; then 63 echo "ldapsearch failed ($RC)!" 64 exit $RC 65fi 66 67echo "Filtering ldapsearch results..." 68$LDIFFILTER < $SEARCHOUT > $SEARCHFLT 69echo "Filtering original ldif used to create database..." 70$LDIFFILTER < $LDIF > $LDIFFLT 71echo "Comparing filter output..." 72$CMP $SEARCHFLT $LDIFFLT > $CMPOUT 73 74if test $? != 0 ; then 75 echo "comparison failed - database was not created correctly" 76 exit 1 77fi 78 79echo ">>>>> Test succeeded" 80 81test $KILLSERVERS != no && wait 82 83exit 0 84