rsyslog/tests/pipeaction.sh
Rainer Gerhards 0ef0e5941a
testbench: enable ompipe test on Solaris again and modernize it
It looks like previous versions of the test used some solaris-incompatible
code. That seems to have been solved in the meantime.
2019-03-28 11:46:10 +01:00

47 lines
1.3 KiB
Bash
Executable File

#!/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