2013-11-26 22:53:19 +00:00
|
|
|
#! /usr/bin/perl -w -I ..
|
|
|
|
#
|
|
|
|
# FPing Tests via check_fping
|
|
|
|
#
|
|
|
|
#
|
|
|
|
|
|
|
|
use strict;
|
2022-10-19 15:24:24 +00:00
|
|
|
use Test::More;
|
2013-11-26 22:53:19 +00:00
|
|
|
use NPTest;
|
|
|
|
|
2020-12-10 20:00:09 +00:00
|
|
|
my $host_responsive = getTestParameter("NP_HOST_RESPONSIVE", "The hostname of system responsive to network requests", "localhost");
|
|
|
|
my $host_nonresponsive = getTestParameter("NP_HOST_NONRESPONSIVE", "The hostname of system not responsive to network requests", "10.0.0.1");
|
|
|
|
my $hostname_invalid = getTestParameter("NP_HOSTNAME_INVALID", "An invalid (not known to DNS) hostname", "nosuchhost");
|
2013-11-26 22:53:19 +00:00
|
|
|
|
2022-10-19 15:24:24 +00:00
|
|
|
my $res;
|
2013-11-26 22:53:19 +00:00
|
|
|
|
2014-07-11 19:01:00 +00:00
|
|
|
my $fping = qx(which fping 2> /dev/null);
|
|
|
|
chomp($fping);
|
|
|
|
if( ! -x "./check_fping") {
|
2022-10-19 15:24:24 +00:00
|
|
|
plan skip_all => "check_fping not found, skipping tests";
|
2014-07-11 19:01:00 +00:00
|
|
|
}
|
2022-10-19 15:24:24 +00:00
|
|
|
elsif ( !$fping || !-x $fping ) {
|
|
|
|
plan skip_all => "fping not found or cannot be executed, skipping tests";
|
2014-07-11 19:01:00 +00:00
|
|
|
} else {
|
2022-10-19 15:24:24 +00:00
|
|
|
plan tests => 3;
|
|
|
|
$res = NPTest->testCmd( "./check_fping $host_responsive" );
|
|
|
|
cmp_ok( $res->return_code, '==', 0, "Responsive host returns OK");
|
|
|
|
|
|
|
|
$res = NPTest->testCmd( "./check_fping $host_nonresponsive" );
|
|
|
|
cmp_ok( $res->return_code, '==', 2, "Non-Responsive host returns Critical");
|
2013-11-26 22:53:19 +00:00
|
|
|
|
2022-10-19 15:24:24 +00:00
|
|
|
$res = NPTest->testCmd( "./check_fping $hostname_invalid" );
|
|
|
|
cmp_ok( $res->return_code, '==', 3, "Invalid host returns Unknown");
|
|
|
|
}
|