summaryrefslogtreecommitdiffstats
path: root/tests/uxsock_simple.sh
diff options
context:
space:
mode:
Diffstat (limited to 'tests/uxsock_simple.sh')
-rwxr-xr-xtests/uxsock_simple.sh46
1 files changed, 46 insertions, 0 deletions
diff --git a/tests/uxsock_simple.sh b/tests/uxsock_simple.sh
new file mode 100755
index 0000000..af97698
--- /dev/null
+++ b/tests/uxsock_simple.sh
@@ -0,0 +1,46 @@
+#!/bin/bash
+# This tests basic omuxsock functionality. A socket receiver is started which sends
+# all data to an output file, then a rsyslog instance is started which generates
+# messages and sends them to the unix socket. Datagram sockets are being used.
+# added 2010-08-06 by Rgerhards
+. ${srcdir:=.}/diag.sh init
+check_command_available timeout
+
+uname
+if [ $(uname) = "FreeBSD" ] ; then
+ echo "This test currently does not work on FreeBSD."
+ exit 77
+fi
+
+# create the pipe and start a background process that copies data from
+# it to the "regular" work file
+generate_conf
+add_conf '
+$MainMsgQueueTimeoutShutdown 10000
+
+$ModLoad ../plugins/omuxsock/.libs/omuxsock
+$template outfmt,"%msg:F,58:2%\n"
+$OMUXSockSocket '$RSYSLOG_DYNNAME'-testbench-dgram-uxsock
+:msg, contains, "msgnum:" :omuxsock:;outfmt
+'
+timeout 30s ./uxsockrcvr -s$RSYSLOG_DYNNAME-testbench-dgram-uxsock -o $RSYSLOG_OUT_LOG -t 60 &
+BGPROCESS=$!
+echo background uxsockrcvr process id is $BGPROCESS
+
+# now do the usual run
+startup
+# 10000 messages should be enough
+injectmsg 0 10000
+shutdown_when_empty # shut down rsyslogd when done processing messages
+wait_shutdown
+
+# wait for the cp process to finish, do pipe-specific cleanup
+echo shutting down uxsockrcvr...
+# TODO: we should do this more reliable in the long run! (message counter? timeout?)
+kill $BGPROCESS
+wait $BGPROCESS
+echo background process has terminated, continue test...
+
+# and continue the usual checks
+seq_check 0 9999
+exit_test