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 162de962bdSlukemecho "running defines.sh" 172de962bdSlukem. $SRCDIR/scripts/defines.sh 182de962bdSlukem 192de962bdSlukemmkdir -p $TESTDIR $DBDIR1 202de962bdSlukem 212de962bdSlukemecho "Running slapadd to build slapd database..." 22*e670fd5cSchristos. $CONFFILTER $BACKEND < $CONF > $ADDCONF 232de962bdSlukem$SLAPADD -f $ADDCONF -l $LDIFORDERED 242de962bdSlukemRC=$? 252de962bdSlukemif test $RC != 0 ; then 262de962bdSlukem echo "slapadd failed ($RC)!" 272de962bdSlukem exit $RC 282de962bdSlukemfi 292de962bdSlukem 302de962bdSlukemecho "Starting slapd on TCP/IP port $PORT1..." 31*e670fd5cSchristos. $CONFFILTER $BACKEND < $CONF > $CONF1 32*e670fd5cSchristos$SLAPD -f $CONF1 -h $URI1 -d $LVL > $LOG1 2>&1 & 332de962bdSlukemPID=$! 342de962bdSlukemif test $WAIT != 0 ; then 352de962bdSlukem echo PID $PID 362de962bdSlukem read foo 372de962bdSlukemfi 382de962bdSlukemKILLPIDS="$PID" 392de962bdSlukem 402de962bdSlukemsleep 1 412de962bdSlukem 422de962bdSlukemecho "Using ldapsearch to retrieve all the entries..." 432de962bdSlukemfor i in 0 1 2 3 4 5; do 44*e670fd5cSchristos $LDAPSEARCH -S "" -b "$BASEDN" -H $URI1 > $SEARCHOUT 2>&1 452de962bdSlukem RC=$? 462de962bdSlukem if test $RC = 0 ; then 472de962bdSlukem break 482de962bdSlukem fi 492de962bdSlukem echo "Waiting 5 seconds for slapd to start..." 502de962bdSlukem sleep 5 512de962bdSlukemdone 522de962bdSlukem 532de962bdSlukemif test $RC != 0 ; then 542de962bdSlukem echo "ldapsearch failed ($RC)!" 55d11b170bStron test $KILLSERVERS != no && kill -HUP $KILLPIDS 562de962bdSlukem exit $RC 572de962bdSlukemfi 582de962bdSlukem 592de962bdSlukemecho "Filtering ldapsearch results..." 60ef2f90d3Sadam$LDIFFILTER < $SEARCHOUT > $SEARCHFLT 612de962bdSlukemecho "Filtering original ldif used to create database..." 62ef2f90d3Sadam$LDIFFILTER < $LDIF > $LDIFFLT 632de962bdSlukemecho "Comparing filter output..." 642de962bdSlukem$CMP $SEARCHFLT $LDIFFLT > $CMPOUT 652de962bdSlukem 662de962bdSlukemif test $? != 0 ; then 672de962bdSlukem echo "comparison failed - database was not created correctly" 682de962bdSlukem echo $SEARCHFLT $LDIFFLT 692de962bdSlukem $DIFF $SEARCHFLT $LDIFFLT 70d11b170bStron test $KILLSERVERS != no && kill -HUP $KILLPIDS 712de962bdSlukem exit 1 722de962bdSlukemfi 732de962bdSlukem 74d11b170bStronif test $BACKEND = ldif ; then 75d11b170bStron echo "Skipping test of unordered slapadd (unsupported in ldif backend)" 76d11b170bStronelse 77d11b170bStron 78d11b170bStronkill -HUP $KILLPIDS 79d11b170bStron 80d11b170bStronrm -f $DBDIR1/* 81d11b170bStron 82d11b170bStronBASE2="ou=test,dc=example,dc=com" 83d11b170bStronsed -e "s;$BASEDN;$BASE2;" $ADDCONF > ${ADDCONF}2 84d11b170bStronmv ${ADDCONF}2 $ADDCONF 85d11b170bStronsed -e "s;$BASEDN;$BASE2;" $CONF1 > ${CONF1}2 86d11b170bStronmv ${CONF1}2 $CONF1 87d11b170bStronecho "Running slapadd with unordered LDIF..." 88d11b170bStron$SLAPADD -f $ADDCONF -l $LDIFUNORDERED 89d11b170bStronRC=$? 90d11b170bStronif test $RC != 0 ; then 91d11b170bStron echo "slapadd failed ($RC)!" 92d11b170bStron exit $RC 93d11b170bStronfi 94d11b170bStron 95d11b170bStronecho "Starting slapd on TCP/IP port $PORT1..." 96*e670fd5cSchristos$SLAPD -f $CONF1 -h $URI1 -d $LVL > $LOG1 2>&1 & 97d11b170bStronPID=$! 98d11b170bStronif test $WAIT != 0 ; then 99d11b170bStron echo PID $PID 100d11b170bStron read foo 101d11b170bStronfi 102d11b170bStronKILLPIDS="$PID" 103d11b170bStron 104d11b170bStronsleep 1 105d11b170bStron 106d11b170bStronecho "Using ldapsearch to retrieve all the entries..." 107d11b170bStronfor i in 0 1 2 3 4 5; do 108*e670fd5cSchristos $LDAPSEARCH -b "$BASE2" -H $URI1 > $SEARCHOUT 2>&1 109d11b170bStron RC=$? 110d11b170bStron if test $RC = 0 ; then 111d11b170bStron break 112d11b170bStron fi 113d11b170bStron echo "Waiting 5 seconds for slapd to start..." 114d11b170bStron sleep 5 115d11b170bStrondone 116d11b170bStron 117d11b170bStronif test $RC != 0 ; then 118d11b170bStron echo "ldapsearch failed ($RC)!" 119d11b170bStron test $KILLSERVERS != no && kill -HUP $KILLPIDS 120d11b170bStron exit $RC 121d11b170bStronfi 122d11b170bStron 123d11b170bStronecho "Filtering ldapsearch results..." 124d11b170bStron$LDIFFILTER < $SEARCHOUT > $SEARCHFLT 125d11b170bStronecho "Filtering original ldif used to create database..." 126d11b170bStron$LDIFFILTER < $LDIFREORDERED > $LDIFFLT 127d11b170bStronecho "Comparing filter output..." 128d11b170bStron$CMP $SEARCHFLT $LDIFFLT > $CMPOUT 129d11b170bStron 130d11b170bStronif test $? != 0 ; then 131d11b170bStron echo "comparison failed - database was not created correctly" 132d11b170bStron echo $SEARCHFLT $LDIFFLT 133d11b170bStron $DIFF $SEARCHFLT $LDIFFLT 134d11b170bStron test $KILLSERVERS != no && kill -HUP $KILLPIDS 135d11b170bStron exit 1 136d11b170bStronfi 137d11b170bStron 138d11b170bStronfi 139d11b170bStron 140d11b170bStrontest $KILLSERVERS != no && kill -HUP $KILLPIDS 141d11b170bStron 1422de962bdSlukemecho ">>>>> Test succeeded" 1432de962bdSlukem 1442de962bdSlukemtest $KILLSERVERS != no && wait 1452de962bdSlukem 1462de962bdSlukemexit 0 147