#!/bin/bash # added 2016-06-21 by RGerhards, released under ASL 2.0 . ${srcdir:=.}/diag.sh init messages=20000 # how many messages to inject? # Note: we need to inject a somewhat larger number of messages in order # to ensure that we receive some messages in the actual output file, # as batching can (validly) cause a larger loss in the non-writable # file generate_conf add_conf ' template(name="outfmt" type="string" string="%msg:F,58:2%\n") :msg, contains, "msgnum:" { action(type="omfwd" target="127.0.0.1" port="'$TCPFLOOD_PORT'" protocol="TCP" action.resumeRetryCount="10" template="outfmt") } ' # we start a small receiver process ./minitcpsrv -t127.0.0.1 -p$TCPFLOOD_PORT -f $RSYSLOG_OUT_LOG -s4 & BGPROCESS=$! echo background minitcpsrvr process id is $BGPROCESS startup injectmsg 0 $messages shutdown_when_empty wait_shutdown # note: minitcpsrvr shuts down automatically if the connection is closed, but # we still try to kill it in case the test did not connect to it! Note that we # do not need an extra wait, as the rsyslog shutdown process should have taken # far long enough. echo waiting on background process kill $BGPROCESS &> /dev/null wait $BGPROCESS seq_check 0 $(($messages-1)) exit_test