summaryrefslogtreecommitdiffstats
path: root/tests/execonlywhenprevsuspended2.sh
diff options
context:
space:
mode:
Diffstat (limited to 'tests/execonlywhenprevsuspended2.sh')
-rwxr-xr-xtests/execonlywhenprevsuspended2.sh36
1 files changed, 36 insertions, 0 deletions
diff --git a/tests/execonlywhenprevsuspended2.sh b/tests/execonlywhenprevsuspended2.sh
new file mode 100755
index 0000000..4b54d17
--- /dev/null
+++ b/tests/execonlywhenprevsuspended2.sh
@@ -0,0 +1,36 @@
+#!/bin/bash
+# we test the execonly if previous is suspended directive. For this,
+# we have an action that is suspended for all messages but the second.
+# we write two files: one only if the output is suspended and the other one
+# in all cases. This should thoroughly check the logic involved.
+# rgerhards, 2010-06-23
+echo ===============================================================================
+echo \[execonlywhenprevsuspended2.sh\]: test execonly...suspended functionality
+. ${srcdir:=.}/diag.sh init
+generate_conf
+add_conf '
+# omtesting provides the ability to cause "SUSPENDED" action state
+$ModLoad ../plugins/omtesting/.libs/omtesting
+
+$MainMsgQueueTimeoutShutdown 100000
+$template outfmt,"%msg:F,58:2%\n"
+
+:msg, contains, "msgnum:" :omtesting:fail 2 0
+$ActionExecOnlyWhenPreviousIsSuspended on
+& ./'"${RSYSLOG_OUT_LOG}"';outfmt
+# note that we MUST re-set PrevSusp, else it will remain active
+# for all other actions as well (this tells us how bad the current
+# config language is...). -- rgerhards, 2010-06-24
+$ActionExecOnlyWhenPreviousIsSuspended off
+
+:msg, contains, "msgnum:" ./'"${RSYSLOG2_OUT_LOG}"';outfmt
+'
+startup
+injectmsg 0 1000
+shutdown_when_empty # shut down rsyslogd when done processing messages
+wait_shutdown
+echo check file 1
+seq_check 1 999
+echo check file 2
+seq_check2 0 999
+exit_test