summaryrefslogtreecommitdiffstats
path: root/tests/exec_tpl-concurrency.sh
diff options
context:
space:
mode:
Diffstat (limited to 'tests/exec_tpl-concurrency.sh')
-rwxr-xr-xtests/exec_tpl-concurrency.sh34
1 files changed, 34 insertions, 0 deletions
diff --git a/tests/exec_tpl-concurrency.sh b/tests/exec_tpl-concurrency.sh
new file mode 100755
index 0000000..af4bb0d
--- /dev/null
+++ b/tests/exec_tpl-concurrency.sh
@@ -0,0 +1,34 @@
+#!/bin/bash
+# Test concurrency of exec_template function with msg variables
+# Added 2015-12-11 by rgerhards
+# This file is part of the rsyslog project, released under ASL 2.0
+. ${srcdir:=.}/diag.sh init
+skip_platform "SunOS" "This test currently does not work on all flavors of Solaris."
+export NUMMESSAGES=500000
+export QUEUE_EMPTY_CHECK_FUNC=wait_seq_check
+generate_conf
+add_conf '
+module(load="../plugins/imtcp/.libs/imtcp")
+input(type="imtcp" port="0" listenPortFileName="'$RSYSLOG_DYNNAME'.tcpflood_port")
+
+template(name="interim" type="string" string="%$!tree!here!nbr%")
+template(name="outfmt" type="string" string="%$!interim%\n")
+template(name="all-json" type="string" string="%$!%\n")
+
+if $msg contains "msgnum:" then {
+ set $!tree!here!nbr = field($msg, 58, 2);
+ action(type="omfile" file="'$RSYSLOG2_OUT_LOG'" template="all-json"
+ queue.type="linkedList")
+
+ set $!interim = exec_template("interim");
+ unset $!tree!here!nbr;
+ action(type="omfile" file="'$RSYSLOG_OUT_LOG'" template="outfmt"
+ queue.type="fixedArray")
+}
+'
+startup
+tcpflood -m$NUMMESSAGES
+shutdown_when_empty
+wait_shutdown
+seq_check
+exit_test