rsyslog/tests/uxsock_simple.sh
Rainer Gerhards 8ea166d89d
testbench: fix some hardcoded names (#2895)
* testbench: fix some hardcoded names

This is prework to make parallel execution of tests possible.
2018-08-01 12:52:17 +02:00

49 lines
1.5 KiB
Bash
Executable File

#!/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
uname
if [ `uname` = "FreeBSD" ] ; then
echo "This test currently does not work on FreeBSD."
exit 77
fi
echo ===============================================================================
echo \[uxsock_simple.sh\]: simple tests for omuxsock functionality
# create the pipe and start a background process that copies data from
# it to the "regular" work file
. $srcdir/diag.sh init
generate_conf
add_conf '
$MainMsgQueueTimeoutShutdown 10000
$ModLoad ../plugins/omuxsock/.libs/omuxsock
$template outfmt,"%msg:F,58:2%\n"
$OMUXSockSocket rsyslog-testbench-dgram-uxsock
:msg, contains, "msgnum:" :omuxsock:;outfmt
'
timeout 1m ./uxsockrcvr -srsyslog-testbench-dgram-uxsock -o $RSYSLOG_OUT_LOG &
BGPROCESS=$!
echo background uxsockrcvr process id is $BGPROCESS
# now do the usual run
startup
# 10000 messages should be enough
. $srcdir/diag.sh 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