Code

plugin: Make sdb_plugin_info_t public.
[sysdb.git] / t / integration / test_lib.sh
index 7bba1515361f804e8444ed717485e87a210841b3..63be63beef326ded85f739040d6542785838ab41 100644 (file)
 
 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"
 
-cp "$TOP_SRCDIR"/src/.libs/sysdb "$TESTDIR"
-cp "$TOP_SRCDIR"/src/.libs/sysdbd "$TESTDIR"
-cp "$TOP_SRCDIR"/src/.libs/libsysdb*.so* "$TESTDIR"
+cp "$TOP_SRCDIR"/src/sysdb "$TESTDIR"
+cp "$TOP_SRCDIR"/src/sysdbd "$TESTDIR"
 
 MEMCHECK="valgrind --quiet --tool=memcheck --error-exitcode=1"
 MEMCHECK="$MEMCHECK --trace-children=yes"
@@ -50,12 +49,26 @@ SOCKET_FILE="$TESTDIR/sock"
 PLUGIN_DIR="$TESTDIR"
 
 function run_sysdb() {
-       LD_PRELOAD=$TESTDIR/libsysdbclient.so $MEMCHECK \
-               "$TESTDIR/sysdb" -U mockuser "$@"
+       $MEMCHECK "$TESTDIR/sysdb" -U mockuser "$@"
 }
 
 function run_sysdbd() {
-       LD_PRELOAD=$TESTDIR/libsysdb.so $MEMCHECK "$TESTDIR/sysdbd" "$@"
+       $MEMCHECK "$TESTDIR/sysdbd" "$@" &
+       SYSDBD_PID=$!
+}
+
+function run_sysdbd_foreground() {
+       $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() {