#!/bin/sh source dlog_test_header trap cleanup 0 if [ "$type" = "zero-copy" ]; then echo "zero-copy not supported for this test" exit 1 fi PREEARLYQUIT_CONFIG_PATH="$DLOG_CONFIG_PATH" export DLOG_CONFIG_PATH="$TESTDIR/earlyquit.conf" for PERSISTENT in 1 0; do for KMSG in 1 0; do for SYSLOG in 1 0; do for QOS in 1 0; do # TODO: Does syslog even work? Disabling for now. [ "$SYSLOG" -eq 1 ] && continue if [ "$QOS" -eq 1 ]; then SOURCE="@datadir@/dlog-$type.conf.qos" else SOURCE="@datadir@/dlog-$type.conf.test" fi if [ "$PERSISTENT" -eq 1 ]; then cp "$SOURCE" "$DLOG_CONFIG_PATH" else sed 's/^dlog_logger_conf.*$/#\0/' <"$SOURCE" >"$DLOG_CONFIG_PATH" fi echo "handle_kmsg=$KMSG" >> "$DLOG_CONFIG_PATH" echo "syslog_force=$SYSLOG" >> "$DLOG_CONFIG_PATH" dlog_logger -t 0 & LOGGER=$! sleep 1 kill $LOGGER > /dev/null STOPPED=$? LOGGER=-1 if [ "$PERSISTENT" -eq 0 ] && [ "$KMSG" -eq 0 ] && [ "$SYSLOG" -eq 0 ] && [ "$QOS" -eq 0 ] && [ "$type" = "logger" ]; then EXPECTED=1 else EXPECTED=0 fi LOG_DETAILS="testing if daemon stops when not needed (persistent=$PERSISTENT, kmsg=$KMSG, syslog=$SYSLOG, qos=$QOS)" [ "$STOPPED" -eq "$EXPECTED" ] && ok || fail done; done; done; done export DLOG_CONFIG_PATH="$PREEARLYQUIT_CONFIG_PATH"