From da4b7a783a1b056a17025b66746a681002279b87 Mon Sep 17 00:00:00 2001 From: Sami Kerola Date: Sat, 5 Dec 2015 19:23:28 +0000 Subject: [PATCH] add --warn-count and --crit-count test, and fix related bug I should consider writing tests before features. Sadly recently added new options did not even work. Oh well, at least I did not release them before noticing this. Signed-off-by: Sami Kerola --- src/output.c | 4 ++-- tests/Makemodule.am | 1 + tests/alarm-count-option | 37 +++++++++++++++++++++++++++++++ tests/expected/alarm-count-option | 17 ++++++++++++++ 4 files changed, 57 insertions(+), 2 deletions(-) create mode 100755 tests/alarm-count-option create mode 100644 tests/expected/alarm-count-option diff --git a/src/output.c b/src/output.c index 203fd65..4199473 100644 --- a/src/output.c +++ b/src/output.c @@ -974,9 +974,9 @@ int output_alarming(void) perc = shared_p->available == 0 ? 100 : (float)(100 * shared_p->used) / shared_p->available; - if (config.critical < perc && shared_p->available < config.crit_count) + if (config.critical < perc && shared_p->used < config.crit_count) sc++; - else if (config.warning < perc && shared_p->available < config.warn_count) + else if (config.warning < perc && shared_p->used < config.warn_count) sw++; else so++; diff --git a/tests/Makemodule.am b/tests/Makemodule.am index 07e55ae..74fd09f 100644 --- a/tests/Makemodule.am +++ b/tests/Makemodule.am @@ -1,4 +1,5 @@ TESTS = \ + tests/alarm-count-option \ tests/alarm-critical \ tests/alarm-critical-ranges \ tests/alarm-critical-snets \ diff --git a/tests/alarm-count-option b/tests/alarm-count-option new file mode 100755 index 0000000..b6f88ba --- /dev/null +++ b/tests/alarm-count-option @@ -0,0 +1,37 @@ +#!/bin/sh +# +# Alarm warning both ranges and shared networks. + +IAM=$(basename $0) + +if [ ! -d tests/outputs ]; then + mkdir tests/outputs +fi + +echo '== warn count ==' > tests/outputs/$IAM +dhcpd-pools --config tests/confs/complete --leases tests/leases/complete \ + --warning=40 --warn-count=20 --output=tests/outputs/$IAM-too +echo $? >> tests/outputs/$IAM-too +cat tests/outputs/$IAM-too >> tests/outputs/$IAM + +echo '== crit count ==' >> tests/outputs/$IAM +dhcpd-pools --config tests/confs/complete --leases tests/leases/complete \ + --critical=40 --crit-count=20 --output=tests/outputs/$IAM-too +echo $? >> tests/outputs/$IAM-too +cat tests/outputs/$IAM-too >> tests/outputs/$IAM + +echo '== minsize ==' >> tests/outputs/$IAM +dhcpd-pools -c tests/confs/complete -l tests/leases/complete \ + --warning=40 --warn-count=20 --minsize=40 -o tests/outputs/$IAM-too +echo $? >> tests/outputs/$IAM-too +cat tests/outputs/$IAM-too >> tests/outputs/$IAM + +echo '== snet alarms ==' >> tests/outputs/$IAM +dhcpd-pools -c tests/confs/complete -l tests/leases/complete \ + --warning=40 --snet-alarms -o tests/outputs/$IAM-too +echo $? >> tests/outputs/$IAM-too +cat tests/outputs/$IAM-too >> tests/outputs/$IAM + +rm -f tests/outputs/$IAM-too +diff -u $top_srcdir/tests/expected/$IAM tests/outputs/$IAM +exit $? diff --git a/tests/expected/alarm-count-option b/tests/expected/alarm-count-option new file mode 100644 index 0000000..5b00b83 --- /dev/null +++ b/tests/expected/alarm-count-option @@ -0,0 +1,17 @@ +== warn count == +WARNING: dhcpd-pools: Ranges - crit: 0 warn: 3 ok: 2; | range_crit=0 range_warn=3 range_ok=2 +Shared nets - crit: 0 warn: 1 ok: 1; | snet_crit=0 snet_warn=1 snet_ok=1 +1 +== crit count == +CRITICAL: dhcpd-pools: Ranges - crit: 3 warn: 0 ok: 2; | range_crit=3 range_warn=0 range_ok=2 +Shared nets - crit: 1 warn: 0 ok: 1; | snet_crit=1 snet_warn=0 snet_ok=1 +2 +== minsize == +OK: Ranges - crit: 0 warn: 0 ok: 0 ignored: 5; | range_crit=0 range_warn=0 range_ok=0 range_ignored=5 +Shared nets - crit: 0 warn: 0 ok: 0 ignored: 2; | snet_crit=0 snet_warn=0 snet_ok=0 snet_ignored=2 + +0 +== snet alarms == +WARNING: dhcpd-pools: Ranges - crit: 0 warn: 0 ok: 0; | range_crit=0 range_warn=0 range_ok=0 +Shared nets - crit: 0 warn: 2 ok: 0; | snet_crit=0 snet_warn=2 snet_ok=0 +1