mirror of
https://github.com/rsyslog/rsyslog.git
synced 2025-12-15 12:50:41 +01:00
50 lines
2.1 KiB
Bash
Executable File
50 lines
2.1 KiB
Bash
Executable File
#!/bin/bash
|
|
# This is test driver for testing two rsyslog instances. It can be
|
|
# utilized by any test that just needs two instances with different
|
|
# config files, where messages are injected in instance TWO and
|
|
# (with whatever rsyslog mechanism) being relayed over to instance ONE,
|
|
# where they are written to the log file. After the run, the completeness
|
|
# of that log file is checked.
|
|
# The code is almost the same, but the config files differ (probably greatly)
|
|
# for different test cases. As such, this driver needs to be called with the
|
|
# config file name ($2). From that name, the sender and receiver config file
|
|
# names are automatically generated.
|
|
# So: $1 config file name, $2 number of messages
|
|
# environment variable TCPFLOOD_EXTRA_OPTIONS is used to slowdown sending when
|
|
# using UDP (we've seen problems due to UDP message loss if sending with full
|
|
# speed)
|
|
#
|
|
# A note on TLS testing: the current testsuite (in git!) already contains
|
|
# TLS test cases. However, getting these test cases correct is not simple.
|
|
# That's not a problem with the code itself, but rather a problem with
|
|
# synchronization in the test environment. So I have decided to keep the
|
|
# TLS tests in, but not yet actually utilize them. This is most probably
|
|
# left as an exercise for future (devel) releases. -- rgerhards, 2009-11-11
|
|
#
|
|
# added 2009-11-11 by Rgerhards
|
|
# This file is part of the rsyslog project, released under ASL 2.0
|
|
. ${srcdir:=.}/diag.sh init
|
|
# uncomment for debugging support:
|
|
#export RSYSLOG_DEBUG="debug nostdout noprintmutexaction"
|
|
|
|
# start up the instances
|
|
export RSYSLOG_DEBUGLOG="log"
|
|
startup $1_rcvr.conf
|
|
export RSYSLOG_DEBUGLOG="log2"
|
|
#valgrind="valgrind"
|
|
startup $1_sender.conf 2
|
|
|
|
# now inject the messages into instance 2. It will connect to instance 1,
|
|
# and that instance will record the data.
|
|
tcpflood -m$2 -i1
|
|
sleep 5 # make sure all data is received in input buffers
|
|
# 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
|
|
|
|
# do the final check
|
|
seq_check 1 $2 $3
|