X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=tests%2Fscripts%2Ftest030-relay;h=7f06f98e7f4ff74283a343846afef72b45adb90b;hb=6c062ca841f82ca9ea17172c2a9882f373a76c02;hp=5f732ec1af8f93a32dbdc750a8dfa85ddfc6536b;hpb=d29bfaead3e3c43d24d3a52b7d93084599789433;p=openldap diff --git a/tests/scripts/test030-relay b/tests/scripts/test030-relay index 5f732ec1af..7f06f98e7f 100755 --- a/tests/scripts/test030-relay +++ b/tests/scripts/test030-relay @@ -2,7 +2,7 @@ # $OpenLDAP$ ## This work is part of OpenLDAP Software . ## -## Copyright 1998-2004 The OpenLDAP Foundation. +## Copyright 1998-2006 The OpenLDAP Foundation. ## All rights reserved. ## ## Redistribution and use in source and binary forms, with or without @@ -16,11 +16,94 @@ echo "running defines.sh" . $SRCDIR/scripts/defines.sh -if test $BACKRELAY = relayno ; then - echo "relay backend not available, test skipped" +if test $RWM = rwmno ; then + echo "rwm (Rewrite/remap) overlay not available, test skipped" exit 0 fi -RELAY=relay -. $SRCDIR/scripts/relay +echo "" +if test "x$RELAYS" = "x" ; then + RELAYS= + # back-relay + if test $BACKRELAY = relayno ; then + echo "relay backend not available, test skipped" + else + if test "x$RELAYS" != "x" ; then + RELAYS="${RELAYS} " + fi + RELAYS="${RELAYS}relay" + fi + + # back-ldap + if test $BACKLDAP = ldapno ; then + echo "ldap backend not available, test skipped" + else + if test $THREADS = "threadsno" ; then + echo "Need threads support, test skipped" + else + if test "x$RELAYS" != "x" ; then + RELAYS="${RELAYS} " + fi + RELAYS="${RELAYS}ldap" + fi + fi + + # back-meta + if test $BACKMETA = metano ; then + echo "meta backend not available, test skipped" + else + if test $THREADS = "threadsno" ; then + echo "Need threads support, test skipped" + else + if test "x$RELAYS" != "x" ; then + RELAYS="${RELAYS} " + fi + RELAYS="${RELAYS}meta" + fi + fi +fi + +if test "x$RELAYS" = "x" ; then + echo "no relaying capable backend is available" + echo ">>>>> Test succeeded" + exit 0 +fi + +echo "Testing virtual naming context mapping with $RELAYS backend(s)..." +echo "" + +first=1 +for RELAY in $RELAYS ; do + RUNIT=yes + if test $THREADS = "threadsno" ; then + case $RELAY in + ldap|meta) + echo "Need threads support, test skipped" + RUNIT=no + ;; + esac + fi + + if test $RUNIT = yes ; then + if test $first = 1 ; then + first=0 + else + echo ">>>>> waiting for things to exit" + test $KILLSERVERS != no && wait + echo "" + + rm -rf $TESTDIR + fi + + mkdir -p $TESTDIR $DBDIR1 + + . $SRCDIR/scripts/relay + fi +done + +echo ">>>>> Test succeeded" + +test $KILLSERVERS != no && wait + +exit 0