Code

integration tests: Make sure test_lib always knows about the socket file.
[sysdb.git] / t / integration / simple_config.sh
index 3484351420e48dce24d491717b467b0bc679b57e..3bdb10490915912190c4e7b46070a6342e6de6b4 100755 (executable)
 # Integration tests using simple configuration snippets.
 #
 
-set -e
+set -ex
 
 source "$( dirname "$0" )/test_lib.sh"
 
-cat <<EOF > "$TESTDIR/sysdbd.conf"
-Listen "invalid://address"
+# Very basics ;-)
+run_sysdb -V
+run_sysdb -h
+
+run_sysdbd -V
+run_sysdbd -h
+
+# Simple invalid configuration examples.
+cat <<EOF > "$SYSDBD_CONF"
+Invalid "option"
 EOF
+if run_sysdbd_foreground -D -C "$SYSDBD_CONF"; then
+       echo 'SysDBd accepted invalid option; expected: failure' >&2
+       exit 1
+fi
 
-if "$TOP_SRCDIR/src/sysdbd" -D -C "$TESTDIR/sysdbd.conf"; then
+cat <<EOF > "$SYSDBD_CONF"
+Listen "invalid://address"
+EOF
+if run_sysdbd_foreground -D -C "$SYSDBD_CONF"; then
        echo 'SysDBd accepted invalid listen address; expected: failure' >&2
        exit 1
 fi
 
-cat <<EOF > "$TESTDIR/sysdbd.conf"
+cat <<EOF > "$SYSDBD_CONF"
+Interval "foo"
+EOF
+if run_sysdbd_foreground -D -C "$SYSDBD_CONF"; then
+       echo 'SysDBd accepted invalid interval; expected: failure' >&2
+       exit 1
+fi
+
+cat <<EOF > "$SYSDBD_CONF"
+Interval -3.0
+EOF
+if run_sysdbd_foreground -D -C "$SYSDBD_CONF"; then
+       echo 'SysDBd accepted invalid interval; expected: failure' >&2
+       exit 1
+fi
+
+# Simple configuration examples.
+cat <<EOF > "$SYSDBD_CONF"
 Listen "$SOCKET_FILE"
 EOF
 
-"$TOP_SRCDIR/src/sysdbd" -D -C "$TESTDIR/sysdbd.conf" &
-sysdbd_pid=$!
+run_sysdbd -D -C "$SYSDBD_CONF"
+wait_for_sysdbd
 
+# reconfigure
+SOCKET_FILE="$SOCKET_FILE-2"
+cat <<EOF > "$SYSDBD_CONF"
+Listen "${SOCKET_FILE}"
+EOF
+kill -HUP $SYSDBD_PID
 wait_for_sysdbd
-kill $!
+
+stop_sysdbd
+