Code

integration tests: Use LD_PRELOAD only when running SysDB tools.
[sysdb.git] / t / integration / test_lib.sh
index 85bffb9401cd2844605f83e757163459846721fe..7bba1515361f804e8444ed717485e87a210841b3 100644 (file)
@@ -35,9 +35,29 @@ trap "rm -rf '$TESTDIR'" 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"
+
+MEMCHECK="valgrind --quiet --tool=memcheck --error-exitcode=1"
+MEMCHECK="$MEMCHECK --trace-children=yes"
+MEMCHECK="$MEMCHECK --track-fds=yes"
+MEMCHECK="$MEMCHECK --leak-check=full"
+
+SYSDBD_CONF="$TESTDIR/sysdbd.conf"
+
 SOCKET_FILE="$TESTDIR/sock"
 PLUGIN_DIR="$TESTDIR"
 
+function run_sysdb() {
+       LD_PRELOAD=$TESTDIR/libsysdbclient.so $MEMCHECK \
+               "$TESTDIR/sysdb" -U mockuser "$@"
+}
+
+function run_sysdbd() {
+       LD_PRELOAD=$TESTDIR/libsysdb.so $MEMCHECK "$TESTDIR/sysdbd" "$@"
+}
+
 function wait_for_sysdbd() {
        local i
        for (( i=0; i<10; i++ )); do