diff options
Diffstat (limited to 'tests/pipeaction.sh')
-rwxr-xr-x | tests/pipeaction.sh | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/tests/pipeaction.sh b/tests/pipeaction.sh new file mode 100755 index 0000000..a50784e --- /dev/null +++ b/tests/pipeaction.sh @@ -0,0 +1,46 @@ +#!/bin/bash +# Test for the pipe output action. +# will create a fifo in the current directory, write to it and +# then do the usual sequence checks. +# added 2009-11-05 by RGerhards + +# create the pipe and start a background process that copies data from +# it to the "regular" work file +. ${srcdir:=.}/diag.sh init +export NUMMESSAGES=20000 +generate_conf +add_conf ' +$MainMsgQueueTimeoutShutdown 10000 + +# set spool locations and switch queue to disk-only mode +$WorkDirectory '$RSYSLOG_DYNNAME'.spool +$MainMsgQueueFilename mainq +$MainMsgQueueType disk + +$template outfmt,"%msg:F,58:2%\n" +# with pipes, we do not need to use absolute path names, so +# we can simply refer to our working pipe via the usual relative +# path name +:msg, contains, "msgnum:" |rsyslog-testbench-fifo;outfmt +' +rm -f rsyslog-testbench-fifo +mkfifo rsyslog-testbench-fifo +cp rsyslog-testbench-fifo $RSYSLOG_OUT_LOG & +CPPROCESS=$! +echo background cp process id is $CPPROCESS + +# now do the usual run +startup +injectmsg 0 $NUMMESSAGES +shutdown_when_empty +wait_shutdown + +# wait for the cp process to finish, do pipe-specific cleanup +echo waiting for background cp to terminate... +wait $CPPROCESS +rm -f rsyslog-testbench-fifo +echo background cp has terminated, continue test... + +# and continue the usual checks +seq_check +exit_test |