mirror of
https://github.com/rsyslog/rsyslog.git
synced 2025-12-16 13:20:41 +01:00
* add an overall timeout value for tests - if running longer, testbench framework tries to FAIL and end test. Note that this is not bullet-proof and not intended to be so. * guard against hanging rsyslog instances via a new imdiag feature to abort after n number of seconds; among others, this guards as against timeout-cancel in CI, which is always pretty hard to diagnose - now we see these errors in test-suite.log * fix a bug in tcp zip test, which actually did not use zip mode * experimnentalls add debug output to better understand shutdown_when_empty operation; goal is to improve understanding and then remove that code again. * improve shutdown predicate for a couple of tests * made travis run make check with two parallel threads, for which we seem ready now. Nevertheless, it's still experimental and we may roll this back if required.
54 lines
1.4 KiB
Bash
Executable File
54 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
# This test is similar to tcpsndrcv, but it forwards messages in
|
|
# zlib-compressed format (our own syslog extension).
|
|
# rgerhards, 2009-11-11
|
|
# This file is part of the rsyslog project, released under ASL 2.0
|
|
. ${srcdir:=.}/diag.sh init
|
|
export NUMMESSAGES=50000
|
|
empty_check() {
|
|
if [ $(wc -l < "$RSYSLOG_OUT_LOG") -eq $NUMMESSAGES ]; then
|
|
return 0
|
|
fi
|
|
return 1
|
|
}
|
|
export QUEUE_EMPTY_CHECK_FUNC=empty_check
|
|
|
|
#export RSYSLOG_DEBUG="debug nostdout noprintmutexaction"
|
|
export RSYSLOG_DEBUGLOG="log"
|
|
export RCVR_PORT="$(get_free_port)"
|
|
generate_conf
|
|
add_conf '
|
|
$ModLoad ../plugins/imtcp/.libs/imtcp
|
|
# then SENDER sends to this port (not tcpflood!)
|
|
$InputTCPServerRun '$RCVR_PORT'
|
|
|
|
$template outfmt,"%msg:F,58:2%\n"
|
|
$template dynfile,"'$RSYSLOG_OUT_LOG'" # trick to use relative path names!
|
|
:msg, contains, "msgnum:" ?dynfile;outfmt
|
|
'
|
|
startup
|
|
|
|
export RSYSLOG_DEBUGLOG="log2"
|
|
#valgrind="valgrind"
|
|
generate_conf 2
|
|
add_conf '
|
|
$ModLoad ../plugins/imtcp/.libs/imtcp
|
|
$InputTCPServerRun '$TCPFLOOD_PORT'
|
|
|
|
*.* @@(z5)127.0.0.1:'$RCVR_PORT'
|
|
' 2
|
|
startup 2
|
|
|
|
# now inject the messages into instance 2. It will connect to instance 1,
|
|
# and that instance will record the data.
|
|
tcpflood -m$NUMMESSAGES
|
|
# shut down sender when everything is sent, receiver continues to run concurrently
|
|
shutdown_when_empty 2
|
|
wait_shutdown 2
|
|
# now it is time to stop the receiver as well
|
|
shutdown_when_empty
|
|
wait_shutdown
|
|
|
|
seq_check
|
|
exit_test
|