diff options
Diffstat (limited to '')
-rwxr-xr-x | tests/suspend-omfwd-via-file.sh | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/tests/suspend-omfwd-via-file.sh b/tests/suspend-omfwd-via-file.sh new file mode 100755 index 0000000..1df6f32 --- /dev/null +++ b/tests/suspend-omfwd-via-file.sh @@ -0,0 +1,51 @@ +#!/bin/bash +# This tests the action suspension via a file +# This file is part of the rsyslog project, released under ASL 2.0 +# Written 2019-07-10 by Rainer Gerhards +. ${srcdir:=.}/diag.sh init +export NUMMESSAGES=10000 +#export NUMMESSAGES=100 #00 +generate_conf +add_conf ' +/* Filter out busy debug output, comment out if needed */ +global( debug.whitelist="on" + debug.files=["ruleset.c", "../action.c", "omfwd.c"] +) + +template(name="outfmt" type="string" string="%msg:F,58:2%\n") + +:msg, contains, "msgnum:" { + action(name="forwarder" type="omfwd" template="outfmt" + target="127.0.0.1" port="'$TCPFLOOD_PORT'" protocol="tcp" + action.externalstate.file="'$RSYSLOG_DYNNAME'.STATE" + action.resumeRetryCount="-1" action.resumeinterval="1") +} +' + +./minitcpsrv -t127.0.0.1 -p$TCPFLOOD_PORT -f $RSYSLOG_OUT_LOG & +BGPROCESS=$! +echo background minitcpsrv process id is $BGPROCESS + +startup +injectmsg 0 5000 +#injectmsg 0 5 + +printf '\n%s %s\n' "$(tb_timestamp)" \ + 'checking that action becomes suspended via external state file' +printf "%s" "SUSPENDED" > $RSYSLOG_DYNNAME.STATE +./msleep 2000 # ensure ResumeInterval expired (NOT sensitive to slow machines --> absolute time!) +injectmsg 5000 1000 +#injectmsg 5 5 + +printf '\n%s %s\n' "$(tb_timestamp)" \ + 'checking that action becomes resumed again via external state file' +./msleep 2000 # ensure ResumeInterval expired (NOT sensitive to slow machines --> absolute time!) +printf "%s" "READY" > $RSYSLOG_DYNNAME.STATE + +injectmsg 6000 4000 +#export QUEUE_EMPTY_CHECK_FUNC=check_q_empty_log2 +wait_queueempty +seq_check +shutdown_when_empty +wait_shutdown +exit_test |