X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=t%2Fintegration%2Ftest_lib.sh;h=1fb3324ca332081fddc9dac43392913cad21e966;hb=6d8389c7e3f2bad7ffd21c132451a8ee2c4bda8a;hp=c02feffc7d4ac392582b72de418397833f02a199;hpb=551b7e143c98fbe771d6cebd7fecba32c503bfdb;p=sysdb.git diff --git a/t/integration/test_lib.sh b/t/integration/test_lib.sh index c02feff..1fb3324 100644 --- a/t/integration/test_lib.sh +++ b/t/integration/test_lib.sh @@ -33,8 +33,12 @@ 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_timeseries.so" "$TESTDIR" cp "$TOP_SRCDIR/t/integration/.libs/mock_plugin.so" "$TESTDIR/backend" +mkdir "$TESTDIR/store" +cp "$TOP_SRCDIR/src/plugins/store/.libs/network.so" "$TESTDIR/store" + cp "$TOP_SRCDIR"/src/sysdb "$TESTDIR" cp "$TOP_SRCDIR"/src/sysdbd "$TESTDIR" @@ -42,14 +46,29 @@ MEMCHECK="valgrind --quiet --tool=memcheck --error-exitcode=1" MEMCHECK="$MEMCHECK --trace-children=yes" MEMCHECK="$MEMCHECK --track-fds=yes" MEMCHECK="$MEMCHECK --leak-check=full" +MEMCHECK="$MEMCHECK --suppressions=$TOP_SRCDIR/t/valgrind.suppress" +MEMCHECK="$MEMCHECK --gen-suppressions=all" SYSDBD_CONF="$TESTDIR/sysdbd.conf" 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() { @@ -73,10 +92,10 @@ function stop_sysdbd() { function wait_for_sysdbd() { local socket="$SOCKET_FILE" - local i if test -n "$1"; then socket="$1" fi + local i for (( i=0; i<10; i++ )); do if test -e "$socket"; then break @@ -89,3 +108,46 @@ function wait_for_sysdbd() { 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 :