rsyslog/tests/mmexternal-SegFault-vg.sh
Rainer Gerhards 42a8051ad9
testbench: make most tests use a port file and assign listen port 0
This makes the test much more robust against heavily loaded test
systems.
2019-08-16 17:31:52 +02:00

29 lines
853 B
Bash
Executable File

#!/bin/bash
# a case that actually caused a segfault
# add 2017-11-06 by PascalWithopf, released under ASL 2.0
. ${srcdir:=.}/diag.sh init
generate_conf
add_conf '
module(load="../plugins/imtcp/.libs/imtcp")
module(load="../plugins/mmexternal/.libs/mmexternal")
input(type="imtcp" port="0" listenPortFileName="'$RSYSLOG_DYNNAME'.tcpflood_port")
set $!x = "a";
template(name="outfmt" type="string" string="-%$!%-\n")
if $msg contains "msgnum:" then {
action(type="mmexternal" interface.input="fulljson"
binary="'${srcdir}'/testsuites/mmexternal-SegFault-mm-python.py")
action(type="omfile" template="outfmt" file="'$RSYSLOG_OUT_LOG'")
}
'
startup_vg
tcpflood -m1 -M "\"<129>Mar 10 01:00:00 172.20.245.8 tag:msgnum:1\""
shutdown_when_empty
wait_shutdown_vg
check_exit_vg
export EXPECTED='-{ "x": "a", "sometag": "somevalue" }-'
cmp_exact
exit_test