From 344f3f6565a6ad4b3097179793a6ea70d8c1f4d5 Mon Sep 17 00:00:00 2001 From: Quanah Gibson-Mount Date: Mon, 5 May 2008 23:32:15 +0000 Subject: [PATCH] Remove test053-syncprov-glue. It assumes options that aren't valid for earlier versions of BDB, and it assumes the db_stat in the user's path is from the same version of BDB as OpenLDAP was compiled against. --- tests/scripts/test053-syncprov-glue | 495 ---------------------------- 1 file changed, 495 deletions(-) delete mode 100755 tests/scripts/test053-syncprov-glue diff --git a/tests/scripts/test053-syncprov-glue b/tests/scripts/test053-syncprov-glue deleted file mode 100755 index ed9d61819f..0000000000 --- a/tests/scripts/test053-syncprov-glue +++ /dev/null @@ -1,495 +0,0 @@ -#! /bin/sh -# $OpenLDAP$ -## This work is part of OpenLDAP Software . -## -## Copyright 1998-2008 The OpenLDAP Foundation. -## All rights reserved. -## -## Redistribution and use in source and binary forms, with or without -## modification, are permitted only as authorized by the OpenLDAP -## Public License. -## -## A copy of this license is available in the file LICENSE in the -## top-level directory of the distribution or, alternatively, at -## . - -# This script tests a bug where syncprov used on a glue database -# with a subordinate syncrepl consumer database looses a read-lock -# on the glue suffix entry when a modification is received on the -# syncrepl consumer. The bug is only triggered when there is an -# active syncrepl consumers of the glue suffix entry. - -echo "running defines.sh" -. $SRCDIR/scripts/defines.sh - -if test $SYNCPROV = syncprovno; then - echo "Syncrepl provider overlay not available, test skipped" - exit 0 -fi - -PRODDIR=$TESTDIR/prod -PRO2DIR=$TESTDIR/pro2 -CONSDIR=$TESTDIR/cons -CFPROD=$PRODDIR/slapd.d -CFPRO2=$PRO2DIR/slapd.d -CFCONS=$CONSDIR/slapd.d - -mkdir -p $TESTDIR -mkdir -p $PRODDIR $CFPROD $PRODDIR/db $PRODDIR/ou1 -mkdir -p $PRO2DIR $CFPRO2 $PRO2DIR/db -mkdir -p $CONSDIR $CFCONS $CONSDIR/db - -cd $TESTDIR - -KILLPIDS= - -$SLAPPASSWD -g -n >$CONFIGPWF - -echo "Initializing producer configurations..." -$SLAPADD -F $CFPROD -n 0 < $LOG1 2>&1 & -PID=$! -if test $WAIT != 0 ; then - echo PID $PID - read foo -fi -KILLPIDS="$KILLPIDS $PID" -cd $TESTWD -sleep 1 -echo "Using ldapsearch to check that producer slapd is running..." -for i in 0 1 2 3 4 5; do - $LDAPSEARCH -s base -b "" -H $URI1 \ - 'objectclass=*' > /dev/null 2>&1 - RC=$? - if test $RC = 0 ; then - break - fi - echo "Waiting 5 seconds for slapd to start..." - sleep 5 -done -if test $RC != 0 ; then - echo "ldapsearch failed ($RC)!" - test $KILLSERVERS != no && kill -HUP $KILLPIDS - exit $RC -fi - -echo "Starting producer2 slapd on TCP/IP port $PORT2..." -cd $PRO2DIR -$SLAPD -F slapd.d -h $URI2 -d $LVL $TIMING > $LOG1 2>&1 & -PID=$! -if test $WAIT != 0 ; then - echo PID $PID - read foo -fi -KILLPIDS="$KILLPIDS $PID" -cd $TESTWD -sleep 1 -echo "Using ldapsearch to check that producer slapd is running..." -for i in 0 1 2 3 4 5; do - $LDAPSEARCH -s base -b "" -H $URI2 \ - 'objectclass=*' > /dev/null 2>&1 - RC=$? - if test $RC = 0 ; then - break - fi - echo "Waiting 5 seconds for slapd to start..." - sleep 5 -done -if test $RC != 0 ; then - echo "ldapsearch failed ($RC)!" - test $KILLSERVERS != no && kill -HUP $KILLPIDS - exit $RC -fi - -echo "Starting consumer slapd on TCP/IP port $PORT3..." -cd $CONSDIR -$SLAPD -F slapd.d -h $URI3 -d $LVL $TIMING > $LOG2 2>&1 & -PID=$! -if test $WAIT != 0 ; then - echo PID $PID - read foo -fi -KILLPIDS="$KILLPIDS $PID" -cd $TESTWD -sleep 1 -echo "Using ldapsearch to check that consumer slapd is running..." -for i in 0 1 2 3 4 5; do - $LDAPSEARCH -s base -b "" -H $URI3 \ - 'objectclass=*' > /dev/null 2>&1 - RC=$? - if test $RC = 0 ; then - break - fi - echo "Waiting 5 seconds for slapd to start..." - sleep 5 -done -if test $RC != 0 ; then - echo "ldapsearch failed ($RC)!" - test $KILLSERVERS != no && kill -HUP $KILLPIDS - exit $RC -fi - -for uri in $URI1 $URI2 $URI3; do - echo "Adding schema on $uri..." - $LDAPADD -D cn=config -H $uri -y $CONFIGPWF < $TESTOUT 2>&1 -include: file://$ABS_SCHEMADIR/core.ldif - -include: file://$ABS_SCHEMADIR/cosine.ldif - -include: file://$ABS_SCHEMADIR/inetorgperson.ldif - -include: file://$ABS_SCHEMADIR/openldap.ldif - -include: file://$ABS_SCHEMADIR/nis.ldif -EOF - RC=$? - if test $RC != 0 ; then - echo "ldapadd failed for schema config ($RC)!" - test $KILLSERVERS != no && kill -HUP $KILLPIDS - exit $RC - fi - - [ "$BACKENDTYPE" = mod ] || continue - - echo "Adding backend module on $uri..." - $LDAPADD -D cn=config -H $uri -y $CONFIGPWF <>$TESTOUT 2>&1 -dn: cn=module,cn=config -objectClass: olcModuleList -cn: module -olcModulePath: ../../../servers/slapd/back-$BACKEND -olcModuleLoad: back_$BACKEND.la -EOF - RC=$? - if test $RC != 0 ; then - echo "ldapadd failed for backend module ($RC)!" - test $KILLSERVERS != no && kill -HUP $KILLPIDS - exit $RC - fi -done - -echo "Adding databases on producer..." -if [ "$SYNCPROV" = syncprovmod ]; then - $LDAPADD -D cn=config -H $URI1 -y $CONFIGPWF <> $TESTOUT 2>&1 -dn: cn=module,cn=config -objectClass: olcModuleList -cn: module -olcModulePath: ../../../servers/slapd/overlays -olcModuleLoad: syncprov.la - -EOF - RC=$? - if test $RC != 0 ; then - echo "ldapadd failed for moduleLoad ($RC)!" - test $KILLSERVERS != no && kill -HUP $KILLPIDS - exit $RC - fi -fi - -$LDAPADD -D cn=config -H $URI1 -y $CONFIGPWF <> $TESTOUT 2>&1 -dn: olcDatabase={1}$BACKEND,cn=config -objectClass: olcDatabaseConfig -objectClass: olc${BACKEND}Config -olcDatabase: {1}$BACKEND -olcDbDirectory: $PRODDIR/db -olcSuffix: $BASEDN -olcRootDN: $MANAGERDN -olcRootPW: $PASSWD - -EOF -RC=$? -if test $RC != 0 ; then - echo "ldapadd failed for producer database config1 ($RC)!" - test $KILLSERVERS != no && kill -HUP $KILLPIDS - exit $RC -fi - -$LDAPADD -D cn=config -H $URI1 -y $CONFIGPWF <> $TESTOUT 2>&1 -dn: olcOverlay={0}glue,olcDatabase={1}$BACKEND,cn=config -objectClass: olcOverlayConfig -olcOverlay: {0}glue - -dn: olcOverlay={1}syncprov,olcDatabase={1}$BACKEND,cn=config -objectClass: olcOverlayConfig -objectClass: olcSyncProvConfig -olcOverlay: {1}syncprov - -dn: olcDatabase={1}$BACKEND,cn=config -objectClass: olcDatabaseConfig -objectClass: olc${BACKEND}Config -olcDatabase: {1}$BACKEND -olcDbDirectory: $PRODDIR/ou1 -olcSubordinate: TRUE -olcSuffix: ou=ou1,$BASEDN -olcRootDN: $MANAGERDN - -EOF -RC=$? -if test $RC != 0 ; then - echo "ldapadd failed for producer database config ($RC)!" - test $KILLSERVERS != no && kill -HUP $KILLPIDS - exit $RC -fi - -echo "Adding databases on producer2..." -if [ "$SYNCPROV" = syncprovmod ]; then - $LDAPADD -D cn=config -H $URI2 -y $CONFIGPWF <> $TESTOUT 2>&1 -dn: cn=module,cn=config -objectClass: olcModuleList -cn: module -olcModulePath: ../../../servers/slapd/overlays -olcModuleLoad: syncprov.la - -EOF - RC=$? - if test $RC != 0 ; then - echo "ldapadd failed for moduleLoad ($RC)!" - test $KILLSERVERS != no && kill -HUP $KILLPIDS - exit $RC - fi -fi - -$LDAPADD -D cn=config -H $URI2 -y $CONFIGPWF <> $TESTOUT 2>&1 -dn: olcDatabase={1}$BACKEND,cn=config -objectClass: olcDatabaseConfig -objectClass: olc${BACKEND}Config -olcDatabase: {1}$BACKEND -olcDbDirectory: $PRO2DIR/db -olcSuffix: $BASEDN -olcRootDN: $MANAGERDN -olcRootPW: $PASSWD - -dn: olcOverlay={0}syncprov,olcDatabase={1}$BACKEND,cn=config -objectClass: olcOverlayConfig -objectClass: olcSyncProvConfig -olcOverlay: {0}syncprov - -EOF -RC=$? -if test $RC != 0 ; then - echo "ldapadd failed for producer database config ($RC)!" - test $KILLSERVERS != no && kill -HUP $KILLPIDS - exit $RC -fi - -echo "Adding databases on consumer..." -$LDAPADD -D cn=config -H $URI3 -y $CONFIGPWF <> $TESTOUT 2>&1 -dn: olcDatabase={1}$BACKEND,cn=config -objectClass: olcDatabaseConfig -objectClass: olc${BACKEND}Config -olcDatabase: {1}$BACKEND -olcDbDirectory: $CONSDIR/db -olcSuffix: $BASEDN -olcRootDN: $MANAGERDN - -EOF -RC=$? -if test $RC != 0 ; then - echo "ldapadd failed for consumer database config ($RC)!" - test $KILLSERVERS != no && kill -HUP $KILLPIDS - exit $RC -fi - -echo "Populating producer..." -$LDAPADD -D "$MANAGERDN" -H $URI1 -w $PASSWD <> $TESTOUT 2>&1 -dn: dc=example,dc=com -objectClass: top -objectClass: organization -objectClass: dcObject -dc: example -o: Example, Inc - -dn: ou=ou1,dc=example,dc=com -objectClass: top -objectClass: organizationalUnit -ou: ou1 - -EOF -RC=$? -if test $RC != 0 ; then - echo "ldapadd failed to populate producer entry ($RC)!" - test $KILLSERVERS != no && kill -HUP $KILLPIDS - exit $RC -fi - -echo "Populating producer2..." -$LDAPADD -D "$MANAGERDN" -H $URI2 -w $PASSWD <> $TESTOUT 2>&1 -dn: dc=example,dc=com -objectClass: top -objectClass: organization -objectClass: dcObject -dc: example -o: Example, Inc - -dn: ou=ou1,dc=example,dc=com -objectClass: top -objectClass: organizationalUnit -ou: ou1 - -EOF -RC=$? -if test $RC != 0 ; then - echo "ldapadd failed to populate producer entry ($RC)!" - test $KILLSERVERS != no && kill -HUP $KILLPIDS - exit $RC -fi - -echo "Adding syncrepl on producer..." -$LDAPMODIFY -D cn=config -H $URI1 -y $CONFIGPWF <> $TESTOUT 2>&1 -dn: olcDatabase={1}$BACKEND,cn=config -changetype: modify -add: olcSyncRepl -olcSyncRepl: rid=1 provider=$URI2 searchbase="ou=ou1,$BASEDN" - binddn="$MANAGERDN" bindmethod=simple credentials=$PASSWD - type=refreshAndPersist retry="5 5 300 5" timeout=1 - -EOF -RC=$? -if test $RC != 0 ; then - echo "ldapmodify failed to add syncrepl consumer ($RC)!" - test $KILLSERVERS != no && kill -HUP $KILLPIDS - exit $RC -fi - -echo "Adding syncrepl consumer on consumer..." -$LDAPMODIFY -D cn=config -H $URI3 -y $CONFIGPWF <> $TESTOUT 2>&1 -dn: olcDatabase={1}$BACKEND,cn=config -changetype: modify -add: olcSyncRepl -olcSyncRepl: rid=1 provider=$URI1 searchbase="$BASEDN" - binddn="$MANAGERDN" bindmethod=simple credentials=$PASSWD - type=refreshAndPersist retry="5 5 300 5" timeout=1 - -EOF -RC=$? -if test $RC != 0 ; then - echo "ldapmodify failed to add syncrepl consumer ($RC)!" - test $KILLSERVERS != no && kill -HUP $KILLPIDS - exit $RC -fi - -echo "Using ldapsearch to check that consumer received changes..." -RC=32 -for i in 0 1 2 3 4 5; do - RESULT=`$LDAPSEARCH -H $URI3 \ - -s base -b "ou=ou1,$BASEDN" \ - '(objectClass=*)' 2>&1 | awk '/^dn:/ {print "OK"}'` - if test "x$RESULT" = "xOK" ; then - RC=0 - break - fi - echo "Waiting 5 seconds for syncrepl to receive changes..." - sleep 5 -done -if test $RC != 0 ; then - echo "ldapsearch failed ($RC)!" - test $KILLSERVERS != no && kill -HUP $KILLPIDS - exit $RC -fi - -echo "Using ldapmodify to modify producer2..." -$LDAPADD -D "$MANAGERDN" -H $URI2 -w $PASSWD <> $TESTOUT 2>&1 -dn: ou=ou1,dc=example,dc=com -changetype: modify -add: description -description: Modify1 - -EOF -RC=$? -if test $RC != 0 ; then - echo "ldapmodify failed ($RC)!" - test $KILLSERVERS != no && kill -HUP $KILLPIDS - exit $RC -fi - -sleep 1 - -echo "Using ldapsearch to check that consumer received changes..." -RC=32 -for i in 0 1 2 3 4 5; do - RESULT=`$LDAPSEARCH -H $URI3 \ - -s base -b "ou=ou1,$BASEDN" \ - '(description=Modify1)' 2>&1 | awk '/^dn:/ {print "OK"}'` - if test "x$RESULT" = "xOK" ; then - RC=0 - break - fi - echo "Waiting 5 seconds for syncrepl to receive changes..." - sleep 5 -done -if test $RC != 0 ; then - echo "ldapsearch failed ($RC)!" - test $KILLSERVERS != no && kill -HUP $KILLPIDS - exit $RC -fi - -type db_stat >/dev/null 2>&1 -RC=$? -if test $RC != 0 ; then - echo "Could not find db_stat ($RC)!" - lock_bug=1 -elif db_stat -E -h $PRODDIR/db | egrep -q 'HELD .* len:'; then - echo "WARNING: Glue lock bug hit, next modify could deadlock" - lock_bug=2 -else - echo "Glue lock bug not found :-)" - lock_bug=0 -fi - -echo "Using ldapmodify to modify glue suffix on producer..." -$LDAPADD -D "$MANAGERDN" -H $URI1 -w $PASSWD <> $TESTOUT 2>&1 -dn: dc=example,dc=com -changetype: modify -add: description -description: Test1 - -EOF -RC=$? -if test $RC != 0 ; then - echo "ldapadd failed to modify suffix ($RC)!" - test $KILLSERVERS != no && kill -HUP $KILLPIDS - exit $RC -fi - -test $KILLSERVERS != no && kill -HUP $KILLPIDS -test "$lock_bug" = 2 && exit 2 - -echo ">>>>> Test succeeded" - -exit 0 -- 2.39.5