valgrind tests to cover impstats namespaced or non-namespaced reporting

This commit is contained in:
Janmejay Singh 2016-03-31 00:40:38 +05:30
parent 90019a681a
commit d6505b297f
5 changed files with 64 additions and 1 deletions

View File

@ -280,7 +280,10 @@ if HAVE_VALGRIND
TESTS += \
dynstats-vg.sh \
dynstats_reset-vg.sh \
dynstats_overflow-vg.sh
dynstats_overflow-vg.sh \
dynstats-json-vg.sh \
stats-json-vg.sh \
stats-cee-vg.sh
endif
endif
@ -1047,12 +1050,15 @@ EXTRA_DIST= \
no-dynstats.sh \
testsuites/no-dynstats.conf \
stats-json.sh \
stats-json-vg.sh \
testsuites/stats-json.conf \
stats-cee.sh \
stats-cee-vg.sh \
testsuites/stats-cee.conf \
stats-json-es.sh \
testsuites/stats-json-es.conf \
dynstats-json.sh \
dynstats-json-vg.sh \
testsuites/dynstats-json.conf \
mmnormalize_variable.sh \
mmnormalize_tokenized.sh \

20
tests/dynstats-json-vg.sh Executable file
View File

@ -0,0 +1,20 @@
#!/bin/bash
# added 2016-03-30 by singh.janmejay
# This file is part of the rsyslog project, released under ASL 2.0
echo ===============================================================================
echo \[dynstats-json-vg.sh\]: test for verifying stats are reported correctly in json format with valgrind
. $srcdir/diag.sh init
. $srcdir/diag.sh startup-vg dynstats-json.conf
. $srcdir/diag.sh wait-for-stats-flush 'rsyslog.out.stats.log'
. $srcdir/diag.sh injectmsg-litteral $srcdir/testsuites/dynstats_input_1
. $srcdir/diag.sh wait-queueempty
. $srcdir/diag.sh wait-for-stats-flush 'rsyslog.out.stats.log'
echo doing shutdown
. $srcdir/diag.sh shutdown-when-empty
echo wait on shutdown
. $srcdir/diag.sh wait-shutdown-vg
. $srcdir/diag.sh check-exit-vg
. $srcdir/diag.sh custom-content-check '{ "name": "global", "origin": "dynstats", "values": { "stats_one.ops_overflow": 0, "stats_one.new_metric_add": 1, "stats_one.no_metric": 0, "stats_one.metrics_purged": 0, "stats_one.ops_ignored": 0, "stats_one.purge_triggered": 0, "stats_two.ops_overflow": 0, "stats_two.new_metric_add": 1, "stats_two.no_metric": 0, "stats_two.metrics_purged": 0, "stats_two.ops_ignored": 0, "stats_two.purge_triggered": 0 } }' 'rsyslog.out.stats.log'
. $srcdir/diag.sh custom-content-check '{ "name": "stats_one", "origin": "dynstats.bucket", "values": { "foo": 1 } }' 'rsyslog.out.stats.log'
. $srcdir/diag.sh custom-content-check '{ "name": "stats_two", "origin": "dynstats.bucket", "values": { "foo": 1 } }' 'rsyslog.out.stats.log'
. $srcdir/diag.sh exit

17
tests/stats-cee-vg.sh Executable file
View File

@ -0,0 +1,17 @@
#!/bin/bash
# added 2016-03-30 by singh.janmejay
# This file is part of the rsyslog project, released under ASL 2.0
echo ===============================================================================
echo \[stats-cee-vg.sh\]: test for verifying stats are reported correctly cee format with valgrind
. $srcdir/diag.sh init
. $srcdir/diag.sh startup-vg stats-cee.conf
. $srcdir/diag.sh injectmsg-litteral $srcdir/testsuites/dynstats_input_1
. $srcdir/diag.sh wait-queueempty
. $srcdir/diag.sh wait-for-stats-flush 'rsyslog.out.stats.log'
echo doing shutdown
. $srcdir/diag.sh shutdown-when-empty
echo wait on shutdown
. $srcdir/diag.sh wait-shutdown-vg
. $srcdir/diag.sh check-exit-vg
. $srcdir/diag.sh custom-content-check '@cee: { "name": "an_action_that_is_never_called", "origin": "core.action", "processed": 0, "failed": 0, "suspended": 0, "suspended.duration": 0, "resumed": 0 }' 'rsyslog.out.stats.log'
. $srcdir/diag.sh exit

18
tests/stats-json-vg.sh Executable file
View File

@ -0,0 +1,18 @@
#!/bin/bash
# added 2016-03-30 by singh.janmejay
# This file is part of the rsyslog project, released under ASL 2.0
echo ===============================================================================
echo \[stats-json-vg.sh\]: test for verifying stats are reported correctly json format with valgrind
. $srcdir/diag.sh init
. $srcdir/diag.sh startup-vg stats-json.conf
. $srcdir/diag.sh injectmsg-litteral $srcdir/testsuites/dynstats_input_1
. $srcdir/diag.sh wait-queueempty
. $srcdir/diag.sh wait-for-stats-flush 'rsyslog.out.stats.log'
echo doing shutdown
. $srcdir/diag.sh shutdown-when-empty
echo wait on shutdown
. $srcdir/diag.sh wait-shutdown-vg
. $srcdir/diag.sh check-exit-vg
. $srcdir/diag.sh custom-content-check '{ "name": "an_action_that_is_never_called", "origin": "core.action", "processed": 0, "failed": 0, "suspended": 0, "suspended.duration": 0, "resumed": 0 }' 'rsyslog.out.stats.log'
. $srcdir/diag.sh custom-assert-content-missing '@cee' 'rsyslog.out.stats.log'
. $srcdir/diag.sh exit

View File

@ -9,6 +9,8 @@ ruleset(name="stats") {
module(load="../plugins/impstats/.libs/impstats" interval="2" severity="7" resetCounters="on" Ruleset="stats" bracketing="on" format="json")
template(name="outfmt" type="string" string="%msg%\n")
set $.p = field($msg, 32, 1);
if ($.p == "foo") then {
set $.ign = dyn_inc("stats_one", $.p);