X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=tests%2Fscripts%2Ftest027-emptydn;h=aadbe855533f122aef43b72b9496b974296ebd33;hb=df479246f6aef59f1414557ecffbc380359c303c;hp=fa38b5727d387c2fd4c09ff3480df0aca2062a52;hpb=7841e975395430f6ae32c8e33e7f44d7614c08be;p=openldap diff --git a/tests/scripts/test027-emptydn b/tests/scripts/test027-emptydn index fa38b5727d..aadbe85553 100755 --- a/tests/scripts/test027-emptydn +++ b/tests/scripts/test027-emptydn @@ -1,7 +1,7 @@ #! /bin/sh ## This work is part of OpenLDAP Software . ## -## Copyright 2004 The OpenLDAP Foundation. +## Copyright 2004-2005 The OpenLDAP Foundation. ## All rights reserved. ## ## Redistribution and use in source and binary forms, with or without @@ -12,12 +12,6 @@ ## top-level directory of the distribution or, alternatively, at ## . -# FIXME: temporary! bdb doesn't work -if test "$BACKEND" != "ldbm" ; then - echo "Test does not support $BACKEND" - exit 0 -fi - echo "running defines.sh" . $SRCDIR/scripts/defines.sh @@ -34,7 +28,7 @@ if test $RC != 0 ; then fi echo "Running slapadd to build empty DN slapd database..." -$SLAPADD -f $CONF1 -n 2 -l $LDIFEMPTYDN2 +$SLAPADD -f $CONF1 -b "" -l $LDIFEMPTYDN2 RC=$? if test $RC != 0 ; then echo "slapadd failed ($RC)!" @@ -50,6 +44,8 @@ if test $WAIT != 0 ; then fi KILLPIDS="$PID" +sleep 1 + echo "Testing slapd empty DN handling..." for i in 0 1 2 3 4 5; do $LDAPSEARCH -s base -b "$MONITOR" -h $LOCALHOST -p $PORT1 \ @@ -80,11 +76,14 @@ if test $RC != 0 ; then fi test $KILLSERVERS != no && kill -HUP $KILLPIDS +wait -LDIFOUT=$EMPTYDNOUT +LDIFOUT=$EMPTYDNOUT1 +echo "Filtering ldapsearch results..." +. $LDIFFILTER < $SEARCHOUT > $SEARCHFLT echo "Comparing ldapsearch results against original..." -$CMP $SEARCHOUT $LDIFOUT > $CMPOUT +$CMP $SEARCHFLT $LDIFOUT > $CMPOUT if test $? != 0 ; then echo "comparison failed - empty DN write operations did not complete correctly" @@ -94,7 +93,7 @@ fi echo "Comparison of database generated via slapadd succeeded" echo "Cleaning up database directories..." -/bin/rm -rf testrun/db.* +/bin/rm -rf $TESTDIR/db.* mkdir -p $TESTDIR $DBDIR1 $DBDIR2 @@ -107,6 +106,8 @@ if test $WAIT != 0 ; then fi KILLPIDS="$PID" +sleep 1 + echo "Testing slapd empty DN handling..." for i in 0 1 2 3 4 5; do $LDAPSEARCH -s base -b "$MONITOR" -h $LOCALHOST -p $PORT1 \ @@ -131,6 +132,15 @@ $LDAPADD -D "$MANAGERDN" -h $LOCALHOST -p $PORT1 -w $PASSWD \ $LDAPADD -D "$EMPTYDNDN" -h $LOCALHOST -p $PORT1 -w $PASSWD \ -f $LDIFEMPTYDN2 > /dev/null 2>&1 +$LDAPMODIFY -D "$EMPTYDNDN" -h $LOCALHOST -p $PORT1 -w $PASSWD \ + > /dev/null 2>&1 << EOF +dn: o=Beispiel,c=DE +changetype: delete + +dn: c=DE +changetype: delete +EOF + echo "Searching database..." $LDAPSEARCH -b "" -h $LOCALHOST -p $PORT1 > $SEARCHOUT 2>&1 @@ -144,10 +154,12 @@ fi test $KILLSERVERS != no && kill -HUP $KILLPIDS -LDIFOUT=$EMPTYDNOUT +LDIFOUT=$EMPTYDNOUT2 +echo "Filtering ldapsearch results..." +. $LDIFFILTER < $SEARCHOUT > $SEARCHFLT echo "Comparing ldapsearch results against original..." -$CMP $SEARCHOUT $LDIFOUT > $CMPOUT +$CMP $SEARCHFLT $LDIFOUT > $CMPOUT if test $? != 0 ; then echo "comparison failed - empty DN write operations did not complete correctly"