diff options
Diffstat (limited to 'tests/omruleset-queue.sh')
-rwxr-xr-x | tests/omruleset-queue.sh | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/tests/omruleset-queue.sh b/tests/omruleset-queue.sh new file mode 100755 index 0000000..937af4a --- /dev/null +++ b/tests/omruleset-queue.sh @@ -0,0 +1,45 @@ +#!/bin/bash +# test for omruleset. What we do is have the main queue forward +# all messages to a secondary ruleset via omruleset, which then does +# the actual file write. We check if all messages arrive at the file, +# what implies that omruleset works. No filters or special queue modes +# are used, but the ruleset uses its own queue. So we can also inject +# more messages without running into troubles. +# added 2009-11-02 by rgerhards +# This file is part of the rsyslog project, released under GPLv3 +echo =============================================================================== +echo \[omruleset-queue.sh\]: test for omruleset functionality with a ruleset queue + +uname +if [ $(uname) = "SunOS" ] ; then + echo "This test currently does not work on all flavors of Solaris." + exit 77 +fi + +. ${srcdir:=.}/diag.sh init +export NUMMESSAGES=20000 +export QUEUE_EMPTY_CHECK_FUNC=wait_file_lines +generate_conf +add_conf ' +$ModLoad ../plugins/omruleset/.libs/omruleset + +$ruleset rsinclude +# create ruleset main queue with default parameters +$RulesetCreateMainQueue on +# make sure we do not terminate too early! +$template outfmt,"%msg:F,58:2%\n" +template(name="dynfile" type="string" string=`echo $RSYSLOG_OUT_LOG`) # trick to use relative path names! +:msg, contains, "msgnum:" ?dynfile;outfmt + +$ruleset RSYSLOG_DefaultRuleset +$ActionOmrulesetRulesetName rsinclude +*.* :omruleset: +' +startup +injectmsg +echo doing shutdown +shutdown_when_empty +echo wait on shutdown +wait_shutdown +seq_check +exit_test |