diff options
| -rw-r--r-- | plugins/check_dns.c | 18 | ||||
| -rw-r--r-- | plugins/t/check_dns.t | 3 |
2 files changed, 19 insertions, 2 deletions
diff --git a/plugins/check_dns.c b/plugins/check_dns.c index eebe72cc..31a953d7 100644 --- a/plugins/check_dns.c +++ b/plugins/check_dns.c | |||
| @@ -242,7 +242,23 @@ main (int argc, char **argv) | |||
| 242 | } | 242 | } |
| 243 | printf (ngettext("%.3f second response time", "%.3f seconds response time", elapsed_time), elapsed_time); | 243 | printf (ngettext("%.3f second response time", "%.3f seconds response time", elapsed_time), elapsed_time); |
| 244 | printf (_(". %s returns %s"), query_address, address); | 244 | printf (_(". %s returns %s"), query_address, address); |
| 245 | printf ("|%s\n", fperfdata ("time", elapsed_time, "s", FALSE, 0, FALSE, 0, TRUE, 0, FALSE, 0)); | 245 | if ((time_thresholds->warning != NULL) && (time_thresholds->critical != NULL)) { |
| 246 | printf ("|%s\n", fperfdata ("time", elapsed_time, "s", | ||
| 247 | TRUE, time_thresholds->warning->end, | ||
| 248 | TRUE, time_thresholds->critical->end, | ||
| 249 | TRUE, 0, FALSE, 0)); | ||
| 250 | } else if ((time_thresholds->warning == NULL) && (time_thresholds->critical != NULL)) { | ||
| 251 | printf ("|%s\n", fperfdata ("time", elapsed_time, "s", | ||
| 252 | FALSE, 0, | ||
| 253 | TRUE, time_thresholds->critical->end, | ||
| 254 | TRUE, 0, FALSE, 0)); | ||
| 255 | } else if ((time_thresholds->warning != NULL) && (time_thresholds->critical == NULL)) { | ||
| 256 | printf ("|%s\n", fperfdata ("time", elapsed_time, "s", | ||
| 257 | TRUE, time_thresholds->warning->end, | ||
| 258 | FALSE, 0, | ||
| 259 | TRUE, 0, FALSE, 0)); | ||
| 260 | } else | ||
| 261 | printf ("|%s\n", fperfdata ("time", elapsed_time, "s", FALSE, 0, FALSE, 0, TRUE, 0, FALSE, 0)); | ||
| 246 | } | 262 | } |
| 247 | else if (result == STATE_WARNING) | 263 | else if (result == STATE_WARNING) |
| 248 | printf (_("DNS WARNING - %s\n"), | 264 | printf (_("DNS WARNING - %s\n"), |
diff --git a/plugins/t/check_dns.t b/plugins/t/check_dns.t index 2c903db9..4ff553f7 100644 --- a/plugins/t/check_dns.t +++ b/plugins/t/check_dns.t | |||
| @@ -10,7 +10,7 @@ use NPTest; | |||
| 10 | 10 | ||
| 11 | plan skip_all => "check_dns not compiled" unless (-x "check_dns"); | 11 | plan skip_all => "check_dns not compiled" unless (-x "check_dns"); |
| 12 | 12 | ||
| 13 | plan tests => 13; | 13 | plan tests => 14; |
| 14 | 14 | ||
| 15 | my $successOutput = '/DNS OK: [\.0-9]+ seconds? response time/'; | 15 | my $successOutput = '/DNS OK: [\.0-9]+ seconds? response time/'; |
| 16 | 16 | ||
| @@ -54,6 +54,7 @@ cmp_ok( $res->return_code, '==', 2, "Critical threshold passed"); | |||
| 54 | 54 | ||
| 55 | $res = NPTest->testCmd("./check_dns -H $hostname_valid -t 5 -w 0 -c 5"); | 55 | $res = NPTest->testCmd("./check_dns -H $hostname_valid -t 5 -w 0 -c 5"); |
| 56 | cmp_ok( $res->return_code, '==', 1, "Warning threshold passed"); | 56 | cmp_ok( $res->return_code, '==', 1, "Warning threshold passed"); |
| 57 | like( $res->output, "/\|time=[\d\.]+s;0.0*;5\.0*;0\.0*/", "Output performance data OK" ); | ||
| 57 | 58 | ||
| 58 | $res = NPTest->testCmd("./check_dns -H $hostname_invalid -t 1"); | 59 | $res = NPTest->testCmd("./check_dns -H $hostname_invalid -t 1"); |
| 59 | cmp_ok( $res->return_code, '==', 2, "Invalid $hostname_invalid"); | 60 | cmp_ok( $res->return_code, '==', 2, "Invalid $hostname_invalid"); |
