]> git.sur5r.net Git - openldap/blob - tests/scripts/test016-subref
Rework test suite to use run script.
[openldap] / tests / scripts / test016-subref
1 #! /bin/sh
2 # $OpenLDAP$
3
4 RCODE=10
5
6 echo "running defines.sh"
7 . $SRCDIR/scripts/defines.sh
8
9 mkdir $DBDIR
10
11 echo "Running slapadd to build slapd database..."
12 . $CONFFILTER $BACKEND $MONITORDB < $RCONF > $DBCONF
13 $SLAPADD -f $DBCONF -l $LDIFREF
14 RC=$?
15 if test $RC != 0 ; then
16         echo "slapadd failed ($RC)!"
17         exit $RC
18 fi
19
20 echo "Starting slapd on TCP/IP port $PORT..."
21 $SLAPD -f $DBCONF -h $MASTERURI -d $LVL $TIMING > $MASTERLOG 2>&1 &
22 PID=$!
23 if test $WAIT != 0 ; then
24     echo PID $PID
25     read foo
26 fi
27
28 echo "Testing slapd searching..."
29 for i in 0 1 2 3 4 5; do
30         $LDAPSEARCH -s base -b "$MONITOR" -h $LOCALHOST -p $PORT \
31                 '(objectclass=*)' > /dev/null 2>&1
32         RC=$?
33         if test $RC = 0 ; then
34                 break
35         fi
36         echo "Waiting 5 seconds for slapd to start..."
37         sleep 5
38 done
39
40 if test $RC != 0 ; then
41         echo "ldapsearch failed ($RC)!"
42         kill -HUP $PID
43         exit $RC
44 fi
45
46 cat /dev/null > $SEARCHOUT
47
48 echo "Testing ManageDsaIT searching at $REFDN..."
49 $LDAPRSEARCH -S "" -MM -b "$REFDN" -h $LOCALHOST -p $PORT \
50         '(objectClass=referral)' '*' ref >> $SEARCHOUT 2>&1
51 RC=$?
52 if test $RC != 0 ; then
53         echo "ldapsearch failed ($RC)!"
54         kill -HUP $PID
55         exit $RC
56 fi
57
58 echo "Testing ManageDsaIT searching at referral object..."
59 $LDAPRSEARCH -S "" -MM -b "o=abc,$REFDN" -h $LOCALHOST -p $PORT \
60         '(objectClass=referral)' '*' ref >> $SEARCHOUT 2>&1
61 RC=$?
62 if test $RC != 0 ; then
63         echo "ldapsearch failed ($RC)!"
64         kill -HUP $PID
65         exit $RC
66 fi
67
68 echo "Testing ManageDsaIT searching below referral object..."
69 $LDAPRSEARCH -S "" -MM -b "uid=xxx,o=abc,$REFDN" -h $LOCALHOST -p $PORT \
70         '(objectClass=referral)' '*' ref >> $SEARCHOUT 2>&1
71 RC=$?
72 if test $RC != $RCODE ; then
73         echo "ldapsearch: unexpected result ($RC)! (referral expected)"
74         kill -HUP $PID
75         exit $RC
76 fi
77
78 XREFDN="$REFDN"
79 echo "Testing base searching at $XREFDN..."
80 $LDAPRSEARCH -S "" -s base -b "$XREFDN" -h $LOCALHOST -p $PORT 1.1 >> $SEARCHOUT 2>&1
81 RC=$?
82 if test $RC != 0 ; then
83         echo "ldapsearch failed ($RC)!"
84         kill -HUP $PID
85         exit $RC
86 fi
87
88 echo "Testing one-level searching at $XREFDN..."
89 $LDAPRSEARCH -S "" -s one -b "$XREFDN" -h $LOCALHOST -p $PORT 1.1 >> $SEARCHOUT 2>&1
90 RC=$?
91 if test $RC != 0 ; then
92         echo "ldapsearch failed ($RC)!"
93         kill -HUP $PID
94         exit $RC
95 fi
96
97 echo "Testing subtree searching at $XREFDN..."
98 $LDAPRSEARCH -S "" -s sub -b "$XREFDN" -h $LOCALHOST -p $PORT 1.1 >> $SEARCHOUT 2>&1
99 RC=$?
100 if test $RC != 0 ; then
101         echo "ldapsearch failed ($RC)!"
102         kill -HUP $PID
103         exit $RC
104 fi
105
106 XREFDN="o=abc,$REFDN"
107 echo "Testing base searching at $XREFDN..."
108 $LDAPRSEARCH -S "" -s base -b "$XREFDN" -h $LOCALHOST -p $PORT 1.1 >> $SEARCHOUT 2>&1
109 RC=$?
110 if test $RC != $RCODE ; then
111         echo "ldapsearch: unexpected result ($RC)! (referral expected)"
112         kill -HUP $PID
113         exit $RC
114 fi
115
116 echo "Testing one-level searching at $XREFDN..."
117 $LDAPRSEARCH -S "" -s one -b "$XREFDN" -h $LOCALHOST -p $PORT 1.1 >> $SEARCHOUT 2>&1
118 RC=$?
119 if test $RC != $RCODE ; then
120         echo "ldapsearch: unexpected result ($RC)! (referral expected)"
121         kill -HUP $PID
122         exit $RC
123 fi
124
125 echo "Testing subtree searching at $XREFDN..."
126 $LDAPRSEARCH -S "" -s sub -b "$XREFDN" -h $LOCALHOST -p $PORT 1.1 >> $SEARCHOUT 2>&1
127 RC=$?
128 if test $RC != $RCODE ; then
129         echo "ldapsearch: unexpected result ($RC)! (referral expected)"
130         kill -HUP $PID
131         exit $RC
132 fi
133
134 XREFDN="uid=xxx,o=abc,$REFDN"
135 echo "Testing base searching at $XREFDN..."
136 $LDAPRSEARCH -S "" -s base -b "$XREFDN" -h $LOCALHOST -p $PORT 1.1 >> $SEARCHOUT 2>&1
137 RC=$?
138 if test $RC != $RCODE ; then
139         echo "ldapsearch: unexpected result ($RC)! (referral expected)"
140         kill -HUP $PID
141         exit $RC
142 fi
143
144 echo "Testing one-level searching at $XREFDN..."
145 $LDAPRSEARCH -S "" -s one -b "$XREFDN" -h $LOCALHOST -p $PORT 1.1 >> $SEARCHOUT 2>&1
146 RC=$?
147 if test $RC != $RCODE ; then
148         echo "ldapsearch: unexpected result ($RC)! (referral expected)"
149         kill -HUP $PID
150         exit $RC
151 fi
152
153 echo "Testing subtree searching at $XREFDN..."
154 $LDAPRSEARCH -S "" -s sub -b "$XREFDN" -h $LOCALHOST -p $PORT 1.1 >> $SEARCHOUT 2>&1
155 RC=$?
156 if test $RC != $RCODE ; then
157         echo "ldapsearch: unexpected result ($RC)! (referral expected)"
158         kill -HUP $PID
159         exit $RC
160 fi
161
162 kill -HUP $PID
163 LDIF=$SEARCHOUTMASTER
164 echo "Filtering ldapsearch results..."
165 . $LDIFFILTER < $SEARCHOUT > $SEARCHFLT
166 echo "Filtering expected LDIF for comparison..."
167 . $LDIFFILTER < $REFERRALOUT > $LDIFFLT
168 echo "Comparing filter output..."
169 $CMP $SEARCHFLT $LDIFFLT > $CMPOUT
170
171 if test $? != 0 ; then
172         echo "Comparison failed"
173         exit 1
174 fi
175
176 echo ">>>>> Test succeeded"
177 exit 0