index 0cc1931770d15bb0b86a46c6a9f6ad23d3b479d1..78aa3be2fb81e7d72c3d794dc3fb52c41385d84d 100644 (file)
#
TOP_SRCDIR="$( readlink -f "$( dirname "$0" )/../.." )"
+TOP_BUILDDIR="$TOP_SRCDIR"
+if test -n "$VPATH"; then
+ # We'll have to guess.
+ if test -d ../t; then
+ TOP_BUILDDIR="$( readlink -f .. )"
+ else if test -d t; then
+ TOP_BUILDDIR="$( readlink -f . )"
+ fi; fi
+fi
+
TESTDIR="$( mktemp -d )"
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_BUILDDIR/t/integration/.libs/mock_timeseries.so" "$TESTDIR"
+cp "$TOP_BUILDDIR/t/integration/.libs/mock_plugin.so" "$TESTDIR/backend"
+
+mkdir "$TESTDIR/store"
+cp "$TOP_BUILDDIR/src/plugins/store/.libs/memory.so" "$TESTDIR/store"
+cp "$TOP_BUILDDIR/src/plugins/store/.libs/network.so" "$TESTDIR/store"
-cp "$TOP_SRCDIR"/src/sysdb "$TESTDIR"
-cp "$TOP_SRCDIR"/src/sysdbd "$TESTDIR"
+cp "$TOP_BUILDDIR"/src/sysdb "$TESTDIR"
+cp "$TOP_BUILDDIR"/src/sysdbd "$TESTDIR"
MEMCHECK="valgrind --quiet --tool=memcheck --error-exitcode=1"
MEMCHECK="$MEMCHECK --trace-children=yes"
SOCKET_FILE="$TESTDIR/sock"
PLUGIN_DIR="$TESTDIR"
+CA_KEY=""
+CA_CERT=""
+SERVER_KEY=""
+SERVER_CERT=""
+CLIENT_KEY=""
+CLIENT_CERT=""
+
+SYSDB_USER="$( id -un )"
+
function run_sysdb() {
- $MEMCHECK "$TESTDIR/sysdb" -U mockuser "$@"
+ $MEMCHECK "$TESTDIR/sysdb" -U $SYSDB_USER "$@"
+}
+
+function run_sysdb_nouser() {
+ $MEMCHECK "$TESTDIR/sysdb" "$@"
}
function run_sysdbd() {
function wait_for_sysdbd() {
local socket="$SOCKET_FILE"
+ if test -n "$1"; then
+ socket="$1"
+ fi
local i
for (( i=0; i<10; i++ )); do
if test -e "$socket"; then
fi
}
+function wait_for_sysdbd_tcp() {
+ local host="$1"
+ local port="$2"
+ local i
+ for (( i=0; i<10; i++ )); do
+ if echo | nc "$host" "$port"; then
+ break
+ fi
+ sleep 1
+ done
+ if test $i -eq 10; then
+ echo 'SysDBd did not start within 10 seconds' >&2
+ exit 1
+ fi
+}
+
+function setup_ssl() {
+ CA_KEY="$TESTDIR/cacert.key"
+ CA_CERT="$TESTDIR/cacert.cert"
+ openssl genrsa -out "$CA_KEY" 2048
+ openssl req -batch -subj '/CN=Some CA' \
+ -x509 -new -key "$CA_KEY" -out "$CA_CERT" -days 1
+
+ SERVER_KEY="$TESTDIR/server.key"
+ SERVER_CERT="$TESTDIR/server.cert"
+ openssl genrsa -out "$SERVER_KEY" 2048
+ openssl req -batch -subj '/CN=localhost' \
+ -new -out "${SERVER_CERT}.csr" -key "$SERVER_KEY"
+ openssl x509 -req -in "${SERVER_CERT}.csr" -out "$SERVER_CERT" -days 1 \
+ -CAkey "$CA_KEY" -CA "$CA_CERT" -CAcreateserial \
+ -CAserial ${TESTDIR}/serial
+
+ CLIENT_KEY="$TESTDIR/client.key"
+ CLIENT_CERT="$TESTDIR/client.cert"
+ openssl genrsa -out "$CLIENT_KEY" 2048
+ openssl req -batch -subj "/CN=$SYSDB_USER" \
+ -new -out "${CLIENT_CERT}.csr" -key "$CLIENT_KEY"
+ openssl x509 -req -in "${CLIENT_CERT}.csr" -out "$CLIENT_CERT" -days 1 \
+ -CAkey "$CA_KEY" -CA "$CA_CERT" -CAcreateserial \
+ -CAserial ${TESTDIR}/serial
+}
+
+# vim: set tw=78 sw=4 ts=4 noexpandtab :