summaryrefslogtreecommitdiffstats
path: root/tests/glbl-oversizeMsg-truncate.sh
diff options
context:
space:
mode:
Diffstat (limited to 'tests/glbl-oversizeMsg-truncate.sh')
-rwxr-xr-xtests/glbl-oversizeMsg-truncate.sh46
1 files changed, 46 insertions, 0 deletions
diff --git a/tests/glbl-oversizeMsg-truncate.sh b/tests/glbl-oversizeMsg-truncate.sh
new file mode 100755
index 0000000..9b3fb47
--- /dev/null
+++ b/tests/glbl-oversizeMsg-truncate.sh
@@ -0,0 +1,46 @@
+#!/bin/bash
+# add 2018-05-02 by PascalWithopf, released under ASL 2.0
+. ${srcdir:=.}/diag.sh init
+./have_relpSrvSetOversizeMode
+if [ $? -eq 1 ]; then
+ echo "imrelp parameter oversizeMode not available. Test stopped"
+ exit 77
+fi;
+generate_conf
+add_conf '
+module(load="../plugins/imrelp/.libs/imrelp")
+global(maxMessageSize="230")
+
+
+input(type="imrelp" port="'$TCPFLOOD_PORT'" maxdatasize="300")
+
+template(name="outfmt" type="string" string="%rawmsg%\n")
+action(type="omfile" template="outfmt"
+ file=`echo $RSYSLOG_OUT_LOG`)
+'
+# TODO: add tcpflood option to specific EXACT test message size!
+startup
+tcpflood -Trelp-plain -p'$TCPFLOOD_PORT' -m1 -d 240
+shutdown_when_empty # shut down rsyslogd when done processing messages
+wait_shutdown
+
+# We need the ^-sign to symbolize the beginning and the $-sign to symbolize the end
+# because otherwise we won't know if it was truncated at the right length.
+grep "^<167>Mar 1 01:00:00 172.20.245.8 tag msgnum:00000000:240:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX$" $RSYSLOG_OUT_LOG > /dev/null
+if [ $? -ne 0 ]; then
+ echo
+ echo "FAIL: expected message not found. $RSYSLOG_OUT_LOG is:"
+ cat $RSYSLOG_OUT_LOG
+ error_exit 1
+fi
+
+grep "message too long.*begin of message is:" $RSYSLOG_OUT_LOG > /dev/null
+if [ $? -ne 0 ]; then
+ echo
+ echo "FAIL: expected message not found. $RSYSLOG_OUT_LOG is:"
+ cat $RSYSLOG_OUT_LOG
+ error_exit 1
+fi
+
+
+exit_test