diff options
Diffstat (limited to '')
-rwxr-xr-x | tests/stop-msgvar.sh | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/tests/stop-msgvar.sh b/tests/stop-msgvar.sh new file mode 100755 index 0000000..9a1c09f --- /dev/null +++ b/tests/stop-msgvar.sh @@ -0,0 +1,30 @@ +#!/bin/bash +# Test for "stop" statement +# This file is part of the rsyslog project, released under ASL 2.0 +echo =============================================================================== +echo \[stop-msgvar.sh\]: testing stop statement together with message variables +. ${srcdir:=.}/diag.sh init +generate_conf +add_conf ' +template(name="outfmt" type="string" string="%$!nbr%\n") + +module(load="../plugins/imtcp/.libs/imtcp") +input(type="imtcp" port="0" listenPortFileName="'$RSYSLOG_DYNNAME'.tcpflood_port") + +if $msg contains "msgnum:" then { + set $!nbr = field($msg, 58, 2); + if cnum($!nbr) < 100 then + stop + /* check is intentionally more complex than needed! */ + else if not (cnum($!nbr) > 999) then { + action(type="omfile" file=`echo $RSYSLOG_OUT_LOG` template="outfmt") + } +} +' +startup +sleep 1 +tcpflood -m2000 -i1 +shutdown_when_empty # shut down rsyslogd when done processing messages +wait_shutdown +seq_check 100 999 +exit_test |