3 ## This work is part of OpenLDAP Software <http://www.openldap.org/>.
5 ## Copyright 1998-2008 The OpenLDAP Foundation.
6 ## All rights reserved.
8 ## Redistribution and use in source and binary forms, with or without
9 ## modification, are permitted only as authorized by the OpenLDAP
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>.
16 echo "running defines.sh"
17 . $SRCDIR/scripts/defines.sh
19 mkdir -p $TESTDIR $DBDIR1
21 echo "Starting slapd on TCP/IP port $PORT..."
22 . $CONFFILTER $BACKEND $MONITORDB < $SCHEMACONF > $CONF1
23 $SLAPD -f $CONF1 -h $URI1 -d $LVL $TIMING > $LOG1 2>&1 &
25 if test $WAIT != 0 ; then
33 echo "Using ldapsearch to check that slapd is running..."
34 for i in 0 1 2 3 4 5; do
35 $LDAPSEARCH -s base -b "$MONITOR" -h $LOCALHOST -p $PORT1 \
36 'objectclass=*' > /dev/null 2>&1
38 if test $RC = 0 ; then
41 echo "Waiting 5 seconds for slapd to start..."
45 echo "Using ldapsearch to read connection monitor entries..."
46 $LDAPSEARCH -S "" -b "$CONNECTIONSMONITORDN" -h $LOCALHOST -p $PORT1 \
48 structuralObjectClass entryDN \
49 monitorConnectionProtocol monitorConnectionOpsReceived \
50 monitorConnectionOpsExecuting monitorConnectionOpsPending \
51 monitorConnectionOpsCompleted monitorConnectionGet \
52 monitorConnectionRead monitorConnectionWrite \
53 monitorConnectionMask monitorConnectionAuthzDN \
54 monitorConnectionListener monitorConnectionLocalAddress \
58 if test $RC != 0 ; then
59 echo "ldapsearch failed ($RC)!"
60 test $KILLSERVERS != no && kill -HUP $KILLPIDS
64 echo "Filtering ldapsearch results..."
65 . $LDIFFILTER < $SEARCHOUT > $SEARCHFLT
67 echo "Comparing filter output..."
68 $CMP $SEARCHFLT $MONITOROUT1 > $CMPOUT
70 if test $? != 0 ; then
71 echo "comparison failed - connection monitor output is not correct"
72 test $KILLSERVERS != no && kill -HUP $KILLPIDS
76 echo "Using ldapsearch to read database monitor entries..."
77 $LDAPSEARCH -S "" -b "$DATABASESMONITORDN" -h $LOCALHOST -p $PORT1 \
79 structuralObjectClass entryDN namingContexts readOnly \
80 monitorIsShadow monitorContext \
81 olmBDBEntryCache olmBDBDNCache olmBDBIDLCache \
85 if test $RC != 0 ; then
86 echo "ldapsearch failed ($RC)!"
87 test $KILLSERVERS != no && kill -HUP $KILLPIDS
91 echo "Filtering ldapsearch results..."
92 . $LDIFFILTER < $SEARCHOUT > $SEARCHFLT
94 TMPMONITOROUT2=$MONITOROUT2
99 TMPMONITOROUT2=$TESTDIR/monitor2.out
100 grep -v "olmBDB" $MONITOROUT2 > $TMPMONITOROUT2
104 echo "Comparing filter output..."
105 $CMP $SEARCHFLT $TMPMONITOROUT2 > $CMPOUT
107 if test $? != 0 ; then
108 echo "comparison failed - database monitor output is not correct"
109 test $KILLSERVERS != no && kill -HUP $KILLPIDS
113 echo "Using ldapsearch to read statistics monitor entries..."
114 $LDAPSEARCH -S "" -b "$STATISTICSMONITORDN" -h $LOCALHOST -p $PORT1 \
115 '(|(cn=Entries)(cn=PDU)(cn=Referrals))' \
116 structuralObjectClass monitorCounter entryDN \
120 if test $RC != 0 ; then
121 echo "ldapsearch failed ($RC)!"
122 test $KILLSERVERS != no && kill -HUP $KILLPIDS
126 echo "Filtering ldapsearch results..."
127 . $LDIFFILTER < $SEARCHOUT > $SEARCHFLT
129 echo "Comparing filter output..."
130 $CMP $SEARCHFLT $MONITOROUT3 > $CMPOUT
132 if test $? != 0 ; then
133 echo "comparison failed - statistics monitor output is not correct"
134 test $KILLSERVERS != no && kill -HUP $KILLPIDS
138 echo "Using ldapsearch to read operation monitor entries..."
139 $LDAPSEARCH -S "" -b "$OPERATIONSMONITORDN" -h $LOCALHOST -p $PORT1 \
141 structuralObjectClass monitorOpInitiated monitorOpCompleted entryDN \
145 if test $RC != 0 ; then
146 echo "ldapsearch failed ($RC)!"
147 test $KILLSERVERS != no && kill -HUP $KILLPIDS
151 echo "Filtering ldapsearch results..."
152 . $LDIFFILTER < $SEARCHOUT > $SEARCHFLT
154 echo "Comparing filter output..."
155 $CMP $SEARCHFLT $MONITOROUT4 > $CMPOUT
157 if test $? != 0 ; then
158 echo "comparison failed - operations monitor output is not correct"
159 test $KILLSERVERS != no && kill -HUP $KILLPIDS
163 test $KILLSERVERS != no && kill -HUP $KILLPIDS
165 echo ">>>>> Test succeeded"
167 test $KILLSERVERS != no && wait