diff options
-rwxr-xr-x | tests/run-tests.sh | 18 | ||||
-rw-r--r-- | tests/slapd.sh.in | 16 |
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 |