mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-01-18 11:05:48 +08:00
6585d34a0f
'make bdb2' tests only BDB2 'make ldbm' tests only LDBM Fix up scripts (previous changes broke BDB2 testing)
137 lines
3.4 KiB
Bash
Executable File
137 lines
3.4 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
if [ $# -eq 0 ]; then
|
|
SRCDIR="."
|
|
else
|
|
SRCDIR=$1; shift
|
|
fi
|
|
if [ $# -eq 1 ]; then
|
|
BACKEND=$1; shift
|
|
fi
|
|
|
|
echo "running defines.sh $SRCDIR $BACKEND"
|
|
. $SRCDIR/scripts/defines.sh
|
|
|
|
echo "Cleaning up in $DBDIR..."
|
|
|
|
rm -f $DBDIR/[!C]*
|
|
|
|
echo "Running ldif2ldbm to build slapd database..."
|
|
$LDIF2LDBM -f $CONF -i $LDIF -e ../servers/slapd/tools
|
|
RC=$?
|
|
if [ $RC != 0 ]; then
|
|
echo "ldif2ldbm failed!"
|
|
exit $RC
|
|
fi
|
|
|
|
echo "Starting slapd on TCP/IP port $PORT..."
|
|
$SLAPD -f $CONF -p $PORT -d $LVL $TIMING > $MASTERLOG 2>&1 &
|
|
PID=$!
|
|
|
|
echo "Testing slapd modify operations..."
|
|
for i in 0 1 2 3 4 5; do
|
|
$LDAPSEARCH -L -S "" -b "$BASEDN" -h localhost -p $PORT \
|
|
'cn=Manager' > /dev/null 2>&1
|
|
RC=$?
|
|
if [ $RC = 1 ]; then
|
|
echo "Waiting 5 seconds for slapd to start..."
|
|
sleep 5
|
|
fi
|
|
done
|
|
|
|
if [ $RC != 0 ]; then
|
|
echo "ldapsearch failed!"
|
|
kill -HUP $PID
|
|
exit $RC
|
|
fi
|
|
|
|
cat /dev/null > $TESTOUT
|
|
|
|
echo "Testing modify, add, and delete..."
|
|
$LDAPMODIFY -v -D "$MANAGERDN" -h localhost -p $PORT -w $PASSWD > \
|
|
/dev/null 2>&1 << EOMODS
|
|
dn: cn=James A Jones 1, ou=Alumni Association, ou=People, o=University of Michigan, c=US
|
|
changetype: modify
|
|
add: drink
|
|
drink: Orange Juice
|
|
|
|
dn: cn=Bjorn Jensen, ou=Information Technology Division, ou=People, o=University of Michigan, c=US
|
|
changetype: modify
|
|
replace: multilinedescription
|
|
multilinedescription: The replaced multiLineDescription $ Blah Woof.
|
|
-
|
|
replace: drink
|
|
drink: Iced Tea
|
|
drink: Mad Dog 20/20
|
|
|
|
dn: cn=ITD Staff,ou=Groups,o=University of Michigan,c=US
|
|
delete: member
|
|
member: cn=James A Jones 2, ou=Information Technology Division, ou=People, o=University of Michigan, c=US
|
|
member: cn=Bjorn Jensen, ou=Information Technology Division, ou=People, o=University of Michigan, c=US
|
|
-
|
|
add: member
|
|
member: cn=Dorothy Stevens, ou=Alumni Association, ou=People, o=University of Michigan, c=US
|
|
member: cn=James A Jones 1, ou=Alumni Association, ou=People, o=University of Michigan, c=US
|
|
|
|
dn: cn=All Staff,ou=Groups,o=University of Michigan,c=US
|
|
changetype: modify
|
|
delete: member
|
|
|
|
dn: cn=Gern Jensen, ou=Information Technology Division, ou=People, o=University of Michigan, c=US
|
|
changetype: add
|
|
objectclass: top
|
|
objectclass: person
|
|
objectclass: organizationalPerson
|
|
objectclass: newPilotPerson
|
|
objectclass: umichPerson
|
|
cn: Gern Jensen
|
|
title: Chief Investigator, ITD
|
|
postaladdress: ITD $ 535 W. William St $ Ann Arbor, MI 48103
|
|
seealso: cn=All Staff, ou=Groups, o=University of Michigan, c=US
|
|
uid: gjensen
|
|
krbname: gjensen@umich.edu
|
|
nobatchupdates: TRUE
|
|
onvacation: FALSE
|
|
drink: Coffee
|
|
homepostaladdress: 844 Brown St. Apt. 4 $ Ann Arbor, MI 48104
|
|
multilinedescription: Very odd
|
|
facsimiletelephonenumber: +1 313 555 7557
|
|
telephonenumber: +1 313 555 8343
|
|
mail: gjensen@mailgw.umich.edu
|
|
homephone: +1 313 555 8844
|
|
|
|
dn: cn=James A Jones 2, ou=Information Technology Division, ou=People, o=University of Michigan, c=US
|
|
changetype: delete
|
|
|
|
EOMODS
|
|
|
|
RC=$?
|
|
if [ $RC != 0 ]; then
|
|
echo "ldapmodify failed!"
|
|
kill -HUP $PID
|
|
exit $RC
|
|
fi
|
|
|
|
echo "Using ldapsearch to retrieve all the entries..."
|
|
$LDAPSEARCH -L -S "" -b "$BASEDN" -h localhost -p $PORT \
|
|
'objectClass=*' | egrep -iv '^createtimestamp:|^modifytimestamp:' \
|
|
> $SEARCHOUT 2>&1
|
|
RC=$?
|
|
kill -HUP $PID
|
|
if [ $RC != 0 ]; then
|
|
echo "ldapsearch failed!"
|
|
exit $RC
|
|
fi
|
|
|
|
echo "Comparing database to reference file"
|
|
cmp $SEARCHOUT $MODIFYOUTMASTER
|
|
if [ $? != 0 ]; then
|
|
echo "comparison failed - modify operations did not complete correctly"
|
|
exit 1
|
|
fi
|
|
|
|
echo ">>>>> Test succeeded"
|
|
|
|
|
|
exit 0
|