summaryrefslogtreecommitdiffstats
path: root/plugins/t/check_fping.t
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/t/check_fping.t')
-rw-r--r--plugins/t/check_fping.t44
1 files changed, 17 insertions, 27 deletions
diff --git a/plugins/t/check_fping.t b/plugins/t/check_fping.t
index 08692e46..67b357b2 100644
--- a/plugins/t/check_fping.t
+++ b/plugins/t/check_fping.t
@@ -5,40 +5,30 @@
5# 5#
6 6
7use strict; 7use strict;
8use Test; 8use Test::More;
9use NPTest; 9use NPTest;
10 10
11use vars qw($tests); 11my $host_responsive = getTestParameter("NP_HOST_RESPONSIVE", "The hostname of system responsive to network requests", "localhost");
12my $host_nonresponsive = getTestParameter("NP_HOST_NONRESPONSIVE", "The hostname of system not responsive to network requests", "10.0.0.1");
13my $hostname_invalid = getTestParameter("NP_HOSTNAME_INVALID", "An invalid (not known to DNS) hostname", "nosuchhost");
12 14
13BEGIN {$tests = 4; plan tests => $tests} 15my $res;
14
15my $successOutput = '/^FPING OK - /';
16my $failureOutput = '/^FPING CRITICAL - /';
17
18my $host_responsive = getTestParameter( "host_responsive", "NP_HOST_RESPONSIVE", "localhost",
19 "The hostname of system responsive to network requests" );
20
21my $host_nonresponsive = getTestParameter( "host_nonresponsive", "NP_HOST_NONRESPONSIVE", "10.0.0.1",
22 "The hostname of system not responsive to network requests" );
23
24my $hostname_invalid = getTestParameter( "hostname_invalid", "NP_HOSTNAME_INVALID", "nosuchhost",
25 "An invalid (not known to DNS) hostname" );
26
27
28my $t;
29 16
30my $fping = qx(which fping 2> /dev/null); 17my $fping = qx(which fping 2> /dev/null);
31chomp($fping); 18chomp($fping);
32if( ! -x "./check_fping") { 19if( ! -x "./check_fping") {
33 $t += skipMissingCmd( "./check_fping", $tests ); 20 plan skip_all => "check_fping not found, skipping tests";
34} 21}
35elsif ( $> != 0 && (!$fping || ! -u $fping)) { 22elsif ( !$fping || !-x $fping ) {
36 $t += skipMsg( "./check_fping", $tests ); 23 plan skip_all => "fping not found or cannot be executed, skipping tests";
37} else { 24} else {
38 $t += checkCmd( "./check_fping $host_responsive", 0, $successOutput ); 25 plan tests => 3;
39 $t += checkCmd( "./check_fping $host_nonresponsive", [ 1, 2 ] ); 26 $res = NPTest->testCmd( "./check_fping $host_responsive" );
40 $t += checkCmd( "./check_fping $hostname_invalid", [ 1, 2 ] ); 27 cmp_ok( $res->return_code, '==', 0, "Responsive host returns OK");
41}
42 28
43exit(0) if defined($Test::Harness::VERSION); 29 $res = NPTest->testCmd( "./check_fping $host_nonresponsive" );
44exit($tests - $t); 30 cmp_ok( $res->return_code, '==', 2, "Non-Responsive host returns Critical");
31
32 $res = NPTest->testCmd( "./check_fping $hostname_invalid" );
33 cmp_ok( $res->return_code, '==', 3, "Invalid host returns Unknown");
34}