12de962bdSlukem#! /bin/sh 2d11b170bStron# $OpenLDAP$ 32de962bdSlukem## This work is part of OpenLDAP Software <http://www.openldap.org/>. 42de962bdSlukem## 5*e670fd5cSchristos## Copyright 1998-2021 The OpenLDAP Foundation. 62de962bdSlukem## All rights reserved. 72de962bdSlukem## 82de962bdSlukem## Redistribution and use in source and binary forms, with or without 92de962bdSlukem## modification, are permitted only as authorized by the OpenLDAP 102de962bdSlukem## Public License. 112de962bdSlukem## 122de962bdSlukem## A copy of this license is available in the file LICENSE in the 132de962bdSlukem## top-level directory of the distribution or, alternatively, at 142de962bdSlukem## <http://www.OpenLDAP.org/license.html>. 152de962bdSlukem 162de962bdSlukemRCODE=10 17ef2f90d3Sadamtest $BACKEND = null && RCODE=0 182de962bdSlukem 192de962bdSlukemecho "running defines.sh" 202de962bdSlukem. $SRCDIR/scripts/defines.sh 212de962bdSlukem 222de962bdSlukemmkdir -p $TESTDIR $DBDIR1 232de962bdSlukem 242de962bdSlukemecho "Running slapadd to build slapd database..." 25*e670fd5cSchristos. $CONFFILTER $BACKEND < $RCONF > $CONF1 262de962bdSlukem$SLAPADD -f $CONF1 -l $LDIFREF 272de962bdSlukemRC=$? 282de962bdSlukemif test $RC != 0 ; then 292de962bdSlukem echo "slapadd failed ($RC)!" 302de962bdSlukem exit $RC 312de962bdSlukemfi 322de962bdSlukem 332de962bdSlukemecho "Starting slapd on TCP/IP port $PORT1..." 34*e670fd5cSchristos$SLAPD -f $CONF1 -h $URI1 -d $LVL > $LOG1 2>&1 & 352de962bdSlukemPID=$! 362de962bdSlukemif test $WAIT != 0 ; then 372de962bdSlukem echo PID $PID 382de962bdSlukem read foo 392de962bdSlukemfi 402de962bdSlukemKILLPIDS="$PID" 412de962bdSlukem 422de962bdSlukemsleep 1 432de962bdSlukem 442de962bdSlukemecho "Testing slapd searching..." 452de962bdSlukemfor i in 0 1 2 3 4 5; do 46*e670fd5cSchristos $LDAPSEARCH -s base -b "$MONITOR" -H $URI1 \ 472de962bdSlukem '(objectclass=*)' > /dev/null 2>&1 482de962bdSlukem RC=$? 492de962bdSlukem if test $RC = 0 ; then 502de962bdSlukem break 512de962bdSlukem fi 522de962bdSlukem echo "Waiting 5 seconds for slapd to start..." 532de962bdSlukem sleep 5 542de962bdSlukemdone 552de962bdSlukem 562de962bdSlukemif test $RC != 0 ; then 572de962bdSlukem echo "ldapsearch failed ($RC)!" 582de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 592de962bdSlukem exit $RC 602de962bdSlukemfi 612de962bdSlukem 622de962bdSlukemcat /dev/null > $SEARCHOUT 632de962bdSlukem 642de962bdSlukemecho "Testing ManageDsaIT searching at $REFDN..." 65*e670fd5cSchristos$LDAPRSEARCH -S "" -MM -b "$REFDN" -H $URI1 \ 662de962bdSlukem '(objectClass=referral)' '*' ref >> $SEARCHOUT 2>&1 672de962bdSlukemRC=$? 682de962bdSlukemif test $RC != 0 ; then 692de962bdSlukem echo "ldapsearch failed ($RC)!" 702de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 712de962bdSlukem exit $RC 722de962bdSlukemfi 732de962bdSlukem 742de962bdSlukemecho "Testing ManageDsaIT searching at referral object..." 75*e670fd5cSchristos$LDAPRSEARCH -S "" -MM -b "o=abc,$REFDN" -H $URI1 \ 762de962bdSlukem '(objectClass=referral)' '*' ref >> $SEARCHOUT 2>&1 772de962bdSlukemRC=$? 782de962bdSlukemif test $RC != 0 ; then 792de962bdSlukem echo "ldapsearch failed ($RC)!" 802de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 812de962bdSlukem exit $RC 822de962bdSlukemfi 832de962bdSlukem 842de962bdSlukemecho "Testing ManageDsaIT searching below referral object..." 85*e670fd5cSchristos$LDAPRSEARCH -S "" -MM -b "uid=xxx,o=abc,$REFDN" -H $URI1 \ 862de962bdSlukem '(objectClass=referral)' '*' ref >> $SEARCHOUT 2>&1 872de962bdSlukemRC=$? 882de962bdSlukemif test $RC != $RCODE ; then 892de962bdSlukem echo "ldapsearch: unexpected result ($RC)! (referral expected)" 902de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 91ef2f90d3Sadam exit 1 922de962bdSlukemfi 932de962bdSlukem 942de962bdSlukemXREFDN="$REFDN" 952de962bdSlukemecho "Testing base searching at $XREFDN..." 96*e670fd5cSchristos$LDAPRSEARCH -S "" -s base -b "$XREFDN" -H $URI1 1.1 >> $SEARCHOUT 2>&1 972de962bdSlukemRC=$? 982de962bdSlukemif test $RC != 0 ; then 992de962bdSlukem echo "ldapsearch failed ($RC)!" 1002de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 1012de962bdSlukem exit $RC 1022de962bdSlukemfi 1032de962bdSlukem 1042de962bdSlukemecho "Testing one-level searching at $XREFDN..." 105*e670fd5cSchristos$LDAPRSEARCH -S "" -s one -b "$XREFDN" -H $URI1 1.1 >> $SEARCHOUT 2>&1 1062de962bdSlukemRC=$? 1072de962bdSlukemif test $RC != 0 ; then 1082de962bdSlukem echo "ldapsearch failed ($RC)!" 1092de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 1102de962bdSlukem exit $RC 1112de962bdSlukemfi 1122de962bdSlukem 1132de962bdSlukemecho "Testing subtree searching at $XREFDN..." 114*e670fd5cSchristos$LDAPRSEARCH -S "" -s sub -b "$XREFDN" -H $URI1 1.1 >> $SEARCHOUT 2>&1 1152de962bdSlukemRC=$? 1162de962bdSlukemif test $RC != 0 ; then 1172de962bdSlukem echo "ldapsearch failed ($RC)!" 1182de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 1192de962bdSlukem exit $RC 1202de962bdSlukemfi 1212de962bdSlukem 1222de962bdSlukemXREFDN="o=abc,$REFDN" 1232de962bdSlukemecho "Testing base searching at $XREFDN..." 124*e670fd5cSchristos$LDAPRSEARCH -S "" -s base -b "$XREFDN" -H $URI1 1.1 >> $SEARCHOUT 2>&1 1252de962bdSlukemRC=$? 1262de962bdSlukemif test $RC != $RCODE ; then 1272de962bdSlukem echo "ldapsearch: unexpected result ($RC)! (referral expected)" 1282de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 129ef2f90d3Sadam exit 1 1302de962bdSlukemfi 1312de962bdSlukem 1322de962bdSlukemecho "Testing one-level searching at $XREFDN..." 133*e670fd5cSchristos$LDAPRSEARCH -S "" -s one -b "$XREFDN" -H $URI1 1.1 >> $SEARCHOUT 2>&1 1342de962bdSlukemRC=$? 1352de962bdSlukemif test $RC != $RCODE ; then 1362de962bdSlukem echo "ldapsearch: unexpected result ($RC)! (referral expected)" 1372de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 138ef2f90d3Sadam exit 1 1392de962bdSlukemfi 1402de962bdSlukem 1412de962bdSlukemecho "Testing subtree searching at $XREFDN..." 142*e670fd5cSchristos$LDAPRSEARCH -S "" -s sub -b "$XREFDN" -H $URI1 1.1 >> $SEARCHOUT 2>&1 1432de962bdSlukemRC=$? 1442de962bdSlukemif test $RC != $RCODE ; then 1452de962bdSlukem echo "ldapsearch: unexpected result ($RC)! (referral expected)" 1462de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 147ef2f90d3Sadam exit 1 1482de962bdSlukemfi 1492de962bdSlukem 1502de962bdSlukemXREFDN="uid=xxx,o=abc,$REFDN" 1512de962bdSlukemecho "Testing base searching at $XREFDN..." 152*e670fd5cSchristos$LDAPRSEARCH -S "" -s base -b "$XREFDN" -H $URI1 1.1 >> $SEARCHOUT 2>&1 1532de962bdSlukemRC=$? 1542de962bdSlukemif test $RC != $RCODE ; then 1552de962bdSlukem echo "ldapsearch: unexpected result ($RC)! (referral expected)" 1562de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 157ef2f90d3Sadam exit 1 1582de962bdSlukemfi 1592de962bdSlukem 1602de962bdSlukemecho "Testing one-level searching at $XREFDN..." 161*e670fd5cSchristos$LDAPRSEARCH -S "" -s one -b "$XREFDN" -H $URI1 1.1 >> $SEARCHOUT 2>&1 1622de962bdSlukemRC=$? 1632de962bdSlukemif test $RC != $RCODE ; then 1642de962bdSlukem echo "ldapsearch: unexpected result ($RC)! (referral expected)" 1652de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 166ef2f90d3Sadam exit 1 1672de962bdSlukemfi 1682de962bdSlukem 1692de962bdSlukemecho "Testing subtree searching at $XREFDN..." 170*e670fd5cSchristos$LDAPRSEARCH -S "" -s sub -b "$XREFDN" -H $URI1 1.1 >> $SEARCHOUT 2>&1 1712de962bdSlukemRC=$? 1722de962bdSlukemif test $RC != $RCODE ; then 1732de962bdSlukem echo "ldapsearch: unexpected result ($RC)! (referral expected)" 1742de962bdSlukem test $KILLSERVERS != no && kill -HUP $KILLPIDS 175ef2f90d3Sadam exit 1 1762de962bdSlukemfi 1772de962bdSlukem 1782de962bdSlukemtest $KILLSERVERS != no && kill -HUP $KILLPIDS 1792de962bdSlukem 180*e670fd5cSchristosLDIF=$SEARCHOUTPROVIDER 1812de962bdSlukemecho "Filtering ldapsearch results..." 182ef2f90d3Sadam$LDIFFILTER < $SEARCHOUT > $SEARCHFLT 1832de962bdSlukemecho "Filtering expected LDIF for comparison..." 184ef2f90d3Sadam$LDIFFILTER < $REFERRALOUT > $LDIFFLT 1852de962bdSlukemecho "Comparing filter output..." 1862de962bdSlukem$CMP $SEARCHFLT $LDIFFLT > $CMPOUT 1872de962bdSlukem 1882de962bdSlukemif test $? != 0 ; then 1892de962bdSlukem echo "Comparison failed" 1902de962bdSlukem exit 1 1912de962bdSlukemfi 1922de962bdSlukem 1932de962bdSlukemecho ">>>>> Test succeeded" 1942de962bdSlukem 1952de962bdSlukemtest $KILLSERVERS != no && wait 1962de962bdSlukem 1972de962bdSlukemexit 0 198