tests: extract stdout redirection
[platform/core/system/dlog.git] / tests / dlog_test_daemon_early_quit.in
1 #!/bin/sh
2
3 source dlog_test_header
4
5 trap cleanup 0
6
7 if [ "$type" = "zero-copy" ]; then
8         echo "zero-copy not supported for this test"
9         exit 1
10 fi
11
12 PREEARLYQUIT_CONFIG_PATH="$DLOG_CONFIG_PATH"
13 export DLOG_CONFIG_PATH="$TESTDIR/earlyquit.conf"
14
15 for PERSISTENT in 1 0; do
16 for KMSG in 1 0; do
17 for SYSLOG in 1 0; do
18 for QOS in 1 0; do
19         # TODO: Does syslog even work? Disabling for now.
20         [ "$SYSLOG" -eq 1 ] && continue
21
22         if [ "$QOS" -eq 1 ]; then
23                 SOURCE="@datadir@/dlog-$type.conf.qos"
24         else
25                 SOURCE="@datadir@/dlog-$type.conf.test"
26         fi
27
28         if [ "$PERSISTENT" -eq 1 ]; then
29                 cp "$SOURCE" "$DLOG_CONFIG_PATH"
30         else
31                 sed 's/^dlog_logger_conf.*$/#\0/' <"$SOURCE" >"$DLOG_CONFIG_PATH"
32         fi
33
34         echo "handle_kmsg=$KMSG" >> "$DLOG_CONFIG_PATH"
35         echo "syslog_force=$SYSLOG" >> "$DLOG_CONFIG_PATH"
36
37         dlog_logger -t 0 &
38         LOGGER=$!
39         sleep 1
40
41         kill $LOGGER > /dev/null
42         STOPPED=$?
43         LOGGER=-1
44
45         if [ "$PERSISTENT" -eq 0 ] && [ "$KMSG" -eq 0 ] && [ "$SYSLOG" -eq 0 ] && [ "$QOS" -eq 0 ] && [ "$type" = "logger" ]; then
46                 EXPECTED=1
47         else
48                 EXPECTED=0
49         fi
50
51         LOG_DETAILS="testing if daemon stops when not needed (persistent=$PERSISTENT, kmsg=$KMSG, syslog=$SYSLOG, qos=$QOS)"
52         [ "$STOPPED" -eq "$EXPECTED" ] && ok || fail
53 done; done; done; done
54
55 export DLOG_CONFIG_PATH="$PREEARLYQUIT_CONFIG_PATH"