mirror of
https://github.com/rsyslog/rsyslog.git
synced 2025-12-16 12:10:46 +01:00
testbench: add test for known message-garbling case
see also https://github.com/rsyslog/rsyslog/issues/1658
This commit is contained in:
parent
203b9b7d24
commit
d9979cef22
@ -97,6 +97,7 @@ TESTS += \
|
||||
no-parser-errmsg.sh \
|
||||
da-mainmsg-q.sh \
|
||||
validation-run.sh \
|
||||
msgdup.sh \
|
||||
empty-ruleset.sh \
|
||||
imtcp-discard-truncated-msg.sh \
|
||||
imtcp-basic.sh \
|
||||
@ -975,6 +976,7 @@ EXTRA_DIST= \
|
||||
testsuites/da-mainmsg-q.conf \
|
||||
diskqueue-fsync.sh \
|
||||
testsuites/diskqueue-fsync.conf \
|
||||
msgdup.sh \
|
||||
empty-ruleset.sh \
|
||||
testsuites/empty-ruleset.conf \
|
||||
imtcp-discard-truncated-msg.sh \
|
||||
|
||||
41
tests/msgdup.sh
Executable file
41
tests/msgdup.sh
Executable file
@ -0,0 +1,41 @@
|
||||
#!/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)
|
||||
if [ `uname` = "SunOS" ] ; then
|
||||
echo "This test currently does not work on all flavors of Solaris."
|
||||
exit 77
|
||||
fi
|
||||
|
||||
. $srcdir/diag.sh init
|
||||
. $srcdir/diag.sh generate-conf
|
||||
. $srcdir/diag.sh add-conf '
|
||||
module(load="../plugins/imuxsock/.libs/imuxsock" sysSock.use="off")
|
||||
input(type="imuxsock" Socket="testbench_socket")
|
||||
|
||||
template(name="outfmt" type="string" string="%msg%\n")
|
||||
|
||||
ruleset(name="rs" queue.type="LinkedList") {
|
||||
action(type="omfile" file="rsyslog.out.log" template="outfmt")
|
||||
stop
|
||||
}
|
||||
|
||||
*.notice call rs
|
||||
'
|
||||
. $srcdir/diag.sh startup
|
||||
logger -d -u 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
|
||||
. $srcdir/diag.sh shutdown-when-empty # shut down rsyslogd when done processing messages
|
||||
. $srcdir/diag.sh 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;
|
||||
. $srcdir/diag.sh exit
|
||||
Loading…
x
Reference in New Issue
Block a user