Home | History | Annotate | Line # | Download | only in scripts
      1 #! /bin/sh
      2 # $OpenLDAP$
      3 ## This work is part of OpenLDAP Software <http://www.openldap.org/>.
      4 ##
      5 ## Copyright 1998-2024 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 
     16 echo "running defines.sh"
     17 . $SRCDIR/scripts/defines.sh
     18 
     19 mkdir -p $TESTDIR $DBDIR1
     20 
     21 echo "Starting slapd on TCP/IP port $PORT1..."
     22 . $CONFFILTER $BACKEND < $SCHEMACONF > $CONF1
     23 $SLAPD -f $CONF1 -h $URI1 -d $LVL > $LOG1 2>&1 &
     24 PID=$!
     25 if test $WAIT != 0 ; then
     26     echo PID $PID
     27     read foo
     28 fi
     29 KILLPIDS="$PID"
     30 
     31 sleep 1
     32 
     33 echo "Using ldapsearch to retrieve the root DSE..."
     34 for i in 0 1 2 3 4 5; do
     35 	$LDAPSEARCH -b "" -s base -H $URI1 \
     36 		'@extensibleObject' > $SEARCHOUT 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
     43 done
     44 
     45 if test $RC = 0 ; then
     46 	echo "Using ldapsearch to retrieve the cn=Subschema..."
     47 	$LDAPSEARCH -b "cn=Subschema" -s base -H $URI1 \
     48 		'(&(objectClasses=top)(objectClasses=2.5.6.0))' cn objectClass \
     49 		>> $SEARCHOUT  2>&1
     50 	RC=$?
     51 
     52 fi
     53 
     54 if test $RC = 0 ; then
     55 	echo "Using ldapsearch to retrieve the cn=Monitor..."
     56 	$LDAPSEARCH -b "cn=Monitor" -s base -H $URI1 \
     57 		'@monitor' >> $SEARCHOUT 2>&1
     58 	RC=$?
     59 fi
     60 
     61 test $KILLSERVERS != no && kill -HUP $KILLPIDS
     62 
     63 cat $SEARCHOUT
     64 
     65 
     66 count=3
     67 if test $RC != 0 ; then
     68 	echo ">>>>> Test failed"
     69 else
     70 	RC=`grep '^dn:' $SEARCHOUT | wc -l`
     71 	if test $RC != $count ; then
     72 		echo ">>>>> Test failed: expected $count entries, got" $RC
     73 		RC=1
     74 	else
     75 		echo ">>>>> Test succeeded"
     76 		RC=0
     77 	fi
     78 fi
     79 
     80 test $KILLSERVERS != no && wait
     81 
     82 exit $RC
     83