From dcc721a95bef6f0d8e6d8775b8efe33e5aecd562 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Mon, 15 Apr 2024 18:28:20 +0200 Subject: Adding upstream version 8.2402.0. Signed-off-by: Daniel Baumann --- tests/imrelp-sessionbreak-vg.sh | 74 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100755 tests/imrelp-sessionbreak-vg.sh (limited to 'tests/imrelp-sessionbreak-vg.sh') diff --git a/tests/imrelp-sessionbreak-vg.sh b/tests/imrelp-sessionbreak-vg.sh new file mode 100755 index 0000000..076c771 --- /dev/null +++ b/tests/imrelp-sessionbreak-vg.sh @@ -0,0 +1,74 @@ +#!/bin/bash +# added 2020-04-10 by alorbach, released under ASL 2.0 +. ${srcdir:=.}/diag.sh init +export NUMMESSAGES=1000000 +export USE_VALGRIND="YES" +# TODO remote leak check skip and fix memory leaks caused by session break +export RS_TESTBENCH_LEAK_CHECK=no + +mkdir $RSYSLOG_DYNNAME.workdir +generate_conf +add_conf ' +module(load="../plugins/imrelp/.libs/imrelp") + +global( + workDirectory="'$RSYSLOG_DYNNAME.workdir'" + maxMessageSize="256k" +) +main_queue(queue.type="Direct") + +$LocalHostName test +$AbortOnUncleanConfig on +$PreserveFQDN on + +input( type="imrelp" + name="imrelp" + port="'$TCPFLOOD_PORT'" + ruleset="spool" + MaxDataSize="256k" + KeepAlive="on" +) +template(name="outfmt" type="string" string="%msg:F,58:2%\n") + +ruleset(name="spool" queue.type="direct") { + if $msg contains "msgnum:" then { + action(type="omfile" file=`echo $RSYSLOG_OUT_LOG` template="outfmt") + } +} +' +startup +# How many tcpfloods we run at the same tiem +for ((i=1;i<=5;i++)); do + # How many times tcpflood runs in each threads + ./tcpflood -Trelp-plain -p$TCPFLOOD_PORT -m$NUMMESSAGES -s & + tcpflood_pid=$! + + echo "started tcpflood instance $i (PID $tcpflood_pid)" + + # Give it time to actually connect + ./msleep 500; + + kill -9 $tcpflood_pid # >/dev/null 2>&1; + echo "killed tcpflood instance $i (PID $tcpflood_pid)" +done; + +wait_queueempty + +netstatresult=$(netstat --all --program 2>&1 | grep "ESTABLISHED" | grep $(cat $RSYSLOG_PIDBASE.pid) | grep $TCPFLOOD_PORT) +openfd=$(ls -l "/proc/$(cat $RSYSLOG_PIDBASE$1.pid)/fd" | wc -l) + +shutdown_when_empty +wait_shutdown + +if [[ "$netstatresult" == "" ]] +then + echo "OK!" +else + echo "STILL OPENED Connections: " + echo $netstatresult + echo "Open files at the end: " + echo $openfd + error_exit 1 +fi + +exit_test -- cgit v1.2.3