X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;ds=sidebyside;f=t%2Fintegration%2Ftest_lib.sh;h=604d2dffb02553a5cc66a09cf8a740f724ee032c;hb=63c6c74e57ae1f2b6133fbd20e31201f0a0d8612;hp=a5dece69f64986c16493e98ffd2721314ae68558;hpb=2e614bb5b95f81f5cc2f1f561ba070505c23f461;p=sysdb.git diff --git a/t/integration/test_lib.sh b/t/integration/test_lib.sh index a5dece6..604d2df 100644 --- a/t/integration/test_lib.sh +++ b/t/integration/test_lib.sh @@ -30,7 +30,7 @@ TOP_SRCDIR="$( readlink -f "$( dirname "$0" )/../.." )" TESTDIR="$( mktemp -d )" -trap "rm -rf '$TESTDIR'" EXIT +trap "rm -rf '$TESTDIR'; test -z \$SYSDBD_PID || kill \$SYSDBD_PID" EXIT mkdir "$TESTDIR/backend" cp "$TOP_SRCDIR/t/integration/.libs/mock_plugin.so" "$TESTDIR/backend" @@ -38,8 +38,6 @@ cp "$TOP_SRCDIR/t/integration/.libs/mock_plugin.so" "$TESTDIR/backend" cp "$TOP_SRCDIR"/src/.libs/sysdb "$TESTDIR" cp "$TOP_SRCDIR"/src/.libs/sysdbd "$TESTDIR" cp "$TOP_SRCDIR"/src/.libs/libsysdb*.so* "$TESTDIR" -chrpath -r "$TESTDIR" "$TESTDIR/sysdb" > /dev/null -chrpath -r "$TESTDIR" "$TESTDIR/sysdbd" > /dev/null MEMCHECK="valgrind --quiet --tool=memcheck --error-exitcode=1" MEMCHECK="$MEMCHECK --trace-children=yes" @@ -51,8 +49,29 @@ SYSDBD_CONF="$TESTDIR/sysdbd.conf" SOCKET_FILE="$TESTDIR/sock" PLUGIN_DIR="$TESTDIR" -SYSDB="$MEMCHECK $TESTDIR/sysdb" -SYSDBD="$MEMCHECK $TESTDIR/sysdbd" +function run_sysdb() { + LD_PRELOAD=$TESTDIR/libsysdbclient.so $MEMCHECK \ + "$TESTDIR/sysdb" -U mockuser "$@" +} + +function run_sysdbd() { + LD_PRELOAD=$TESTDIR/libsysdb.so $MEMCHECK "$TESTDIR/sysdbd" "$@" & + SYSDBD_PID=$! +} + +function run_sysdbd_foreground() { + LD_PRELOAD=$TESTDIR/libsysdb.so $MEMCHECK "$TESTDIR/sysdbd" "$@" +} + +function stop_sysdbd() { + if test -z $SYSDBD_PID; then + echo "Cannot stop sysdbd; PID unknown" >&2 + exit 1 + fi + kill $SYSDBD_PID + wait $SYSDBD_PID + SYSDBD_PID='' +} function wait_for_sysdbd() { local i