rsyslog/tests/msgdup.sh
Rainer Gerhards a43a03f17e
testbench: make more test file names dynamic
This is required to support parallel test runs.

Among others, make thise files dynamic:
* test-spool
* rsyslog.input
* rsyslog.out*.log
* tmp.in

Also:
* convert presort test statement to function
* cleanup imfile truncation test
* cleanup imfile-growing-file-id test
  some cruft was left due to copy and paste error
* serialize mysql tests
2018-08-29 10:46:32 +02:00

48 lines
1.6 KiB
Bash
Executable File

#!/bin/bash
# This tests the border case that a message is exactly as large as the default
# buffer size (101 chars) and is reduced in size afterwards. This has been seen
# in practice.
# see also https://github.com/rsyslog/rsyslog/issues/1658
# Copyright (C) 2017 by Rainer Gerhards, released under ASL 2.0 (2017-07-11)
uname
if [ `uname` = "FreeBSD" ] ; then
echo "This test currently does not work on FreeBSD."
exit 77
fi
if [ `uname` = "SunOS" ] ; then
echo "This test currently does not work on all flavors of Solaris."
exit 77
fi
. $srcdir/diag.sh init
generate_conf
add_conf '
module(load="../plugins/imuxsock/.libs/imuxsock" sysSock.use="off")
input(type="imuxsock" Socket="'$RSYSLOG_DYNNAME'-testbench_socket")
template(name="outfmt" type="string" string="%msg%\n")
ruleset(name="rs" queue.type="LinkedList") {
action(type="omfile" file=`echo $RSYSLOG_OUT_LOG` template="outfmt")
stop
}
*.notice call rs
'
startup
logger -d -u $RSYSLOG_DYNNAME-testbench_socket -t RSYSLOG_TESTBENCH 'test 01234567890123456789012345678901234567890123456789012345
' #Note: LF at end of message is IMPORTANT, it is bug triggering condition
# the sleep below is needed to prevent too-early termination of rsyslogd
./msleep 100
shutdown_when_empty # shut down rsyslogd when done processing messages
wait_shutdown # we need to wait until rsyslogd is finished!
echo " test 01234567890123456789012345678901234567890123456789012345" | cmp - $RSYSLOG_OUT_LOG
if [ ! $? -eq 0 ]; then
echo "msgdup.sh failed"
echo "contents of $RSYSLOG_OUT_LOG:"
echo \"`cat $RSYSLOG_OUT_LOG`\"
exit 1
fi;
exit_test