diff options
Diffstat (limited to 'tests/json_var_cmpr.sh')
-rwxr-xr-x | tests/json_var_cmpr.sh | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/tests/json_var_cmpr.sh b/tests/json_var_cmpr.sh new file mode 100755 index 0000000..ee21be8 --- /dev/null +++ b/tests/json_var_cmpr.sh @@ -0,0 +1,38 @@ +#!/bin/bash +# added 2015-11-24 by portant +# This file is part of the rsyslog project, released under ASL 2.0 +echo ============================================================================================= +echo \[json_var_case.sh\]: test for referencing local and global variables properly in comparisons +. ${srcdir:=.}/diag.sh init +generate_conf +add_conf ' +module(load="../plugins/mmjsonparse/.libs/mmjsonparse") +module(load="../plugins/imtcp/.libs/imtcp") +input(type="imtcp" port="0" listenPortFileName="'$RSYSLOG_DYNNAME'.tcpflood_port") + +# we must make sure the template contains references to the variables +template(name="outfmt" type="string" string="json prop:%$!val% local prop:%$.val% global prop:%$/val%\n") + +action(type="mmjsonparse") + +set $.val = "123"; +set $.rval = "123"; +if ($.val == $.rval) then { + set $.val = "def"; +} +set $/val = "123"; +set $/rval = "123"; +if ($/val == $/rval) then { + set $/val = "ghi"; +} + +action(type="omfile" file=`echo $RSYSLOG_OUT_LOG` template="outfmt") +' +startup +tcpflood -m 1 -M "\"<167>Nov 6 12:34:56 172.0.0.1 test: @cee: { \\\"val\\\": \\\"abc\\\" }\"" +echo doing shutdown +shutdown_when_empty +echo wait on shutdown +wait_shutdown +content_check "json prop:abc local prop:def global prop:ghi" +exit_test |