summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xtests/run-tests.sh18
-rw-r--r--tests/slapd.sh.in16
2 files changed, 30 insertions, 4 deletions
diff --git a/tests/run-tests.sh b/tests/run-tests.sh
index aba19a8..5915dfe 100755
--- a/tests/run-tests.sh
+++ b/tests/run-tests.sh
@@ -50,13 +50,25 @@ for subdir in "$@" ; do
continue
fi
fi
+ if test -s $TESTDIR/$TEST/plugin-need-wrappers.txt ; then
+ if ! test -s ${BTESTDIR}/wrappers.so ; then
+ echo Skipping "$TEST", needs test wrappers.
+ continue
+ fi
+ fi
if test -x edit-dse-config.sh ; then
precmd="$TESTDIR/$subdir/edit-dse-config.sh $BTESTDIR/config/dse.ldif"
fi
startslapd $TESTDIR/$subdir/dse.ldif $TESTDIR/$subdir/userRoot.ldif "$precmd"
+ if test -s $TESTDIR/$TEST/plugin-need-wrappers.txt ; then
+ ENVCMD="`cat $TESTDIR/$TEST/plugin-need-wrappers.txt`"
+ ENVCMD=env\ `eval echo $ENVCMD`
+ else
+ ENVCMD=
+ fi
if test -x $TESTDIR/$subdir/before.sh ; then
settle
- $TESTDIR/$subdir/before.sh > before.out 2>&1
+ $ENVCMD $TESTDIR/$subdir/before.sh > before.out 2>&1
if test -r $TESTDIR/$subdir/before.txt ; then
if ! compare $TESTDIR/$subdir/before.txt before.out ; then
echo `basename "$subdir"`:
@@ -68,7 +80,7 @@ for subdir in "$@" ; do
fi
if test -x $TESTDIR/$subdir/change.sh ; then
settle
- $TESTDIR/$subdir/change.sh > change.out 2>&1
+ $ENVCMD $TESTDIR/$subdir/change.sh > change.out 2>&1
if test -r $TESTDIR/$subdir/change.txt ; then
if ! compare $TESTDIR/$subdir/change.txt change.out ; then
echo `basename "$subdir"`:
@@ -80,7 +92,7 @@ for subdir in "$@" ; do
fi
if test -x $TESTDIR/$subdir/after.sh ; then
settle
- $TESTDIR/$subdir/after.sh > after.out 2>&1
+ $ENVCMD $TESTDIR/$subdir/after.sh > after.out 2>&1
if test -r $TESTDIR/$subdir/after.txt ; then
if ! compare $TESTDIR/$subdir/after.txt after.out ; then
echo `basename "$subdir"`:
diff --git a/tests/slapd.sh.in b/tests/slapd.sh.in
index 0713ddc..edb8a22 100644
--- a/tests/slapd.sh.in
+++ b/tests/slapd.sh.in
@@ -91,11 +91,25 @@ startslapd() {
exit 1
fi
fi
+ old_ld_preload="$LD_PRELOAD"
+ if test -s $TESTDIR/$TEST/plugin-need-wrappers.txt ; then
+ ENVCMD="`cat $TESTDIR/$TEST/plugin-need-wrappers.txt`"
+ ENVCMD=env\ `eval echo $ENVCMD`
+ LD_PRELOAD=$BTESTDIR/wrappers.so${LD_PRELOAD:+:$LD_PRELOAD}
+ export LD_PRELOAD
+ else
+ ENVCMD=
+ fi
@NIS_PLUGIN_CONTINUE_WITHOUT_PORTMAP_ENV@=1 \
@NIS_PLUGIN_PROCESS_UNINTERESTING_UPDATES_ENV@=$process_all \
@SCHEMA_COMPAT_PLUGIN_PROCESS_UNINTERESTING_UPDATES_ENV@=$process_all \
- @TRACE_CMD@ \
+ $ENVCMD @TRACE_CMD@ \
$SLAPD -D $BTESTDIR/config -i $STATEDIR/pid -w $STATEDIR/pid
+ if test -n "$old_ld_preload" ; then
+ LD_PRELOAD="$old_ld_preload"
+ else
+ unset LD_PRELOAD
+ fi
if ! add -f $BTESTDIR/config/userRoot.ldif > /dev/null 2> /dev/null ; then
local i
local max=60