Imported Upstream version 1.4.16+git20130919
This commit is contained in:
		
							parent
							
								
									01ca3b324f
								
							
						
					
					
						commit
						57371046fd
					
				
					 50 changed files with 3885 additions and 500 deletions
				
			
		
							
								
								
									
										69
									
								
								plugins-root/t/check_dhcp.t
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										69
									
								
								plugins-root/t/check_dhcp.t
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,69 @@
 | 
			
		|||
#! /usr/bin/perl -w -I ..
 | 
			
		||||
#
 | 
			
		||||
# DHCP Tests via check_dhcp
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
use strict;
 | 
			
		||||
use Test::More;
 | 
			
		||||
use NPTest;
 | 
			
		||||
 | 
			
		||||
my $allow_sudo = getTestParameter( "NP_ALLOW_SUDO",
 | 
			
		||||
                                   "If sudo is setup for this user to run any command as root ('yes' to allow)",
 | 
			
		||||
                                   "no" );
 | 
			
		||||
 | 
			
		||||
if ($allow_sudo eq "yes" or $> == 0) {
 | 
			
		||||
    plan tests => 6;
 | 
			
		||||
} else {
 | 
			
		||||
    plan skip_all => "Need sudo to test check_dhcp";
 | 
			
		||||
}
 | 
			
		||||
my $sudo = $> == 0 ? '' : 'sudo';
 | 
			
		||||
 | 
			
		||||
my $successOutput = '/OK: Received \d+ DHCPOFFER\(s\), \d+ of 1 requested servers responded, max lease time = \d+ sec\./';
 | 
			
		||||
my $failureOutput = '/CRITICAL: No DHCPOFFERs were received/';
 | 
			
		||||
my $invalidOutput = '/Invalid hostname/';
 | 
			
		||||
 | 
			
		||||
my $host_responsive    = getTestParameter( "NP_HOST_DHCP_RESPONSIVE",
 | 
			
		||||
                                           "The hostname of system responsive to dhcp requests",
 | 
			
		||||
                                           "localhost" );
 | 
			
		||||
 | 
			
		||||
my $host_nonresponsive = getTestParameter( "NP_HOST_NONRESPONSIVE",
 | 
			
		||||
                                           "The hostname of system not responsive to dhcp requests",
 | 
			
		||||
                                           "10.0.0.1" );
 | 
			
		||||
 | 
			
		||||
my $hostname_invalid   = getTestParameter( "NP_HOSTNAME_INVALID",
 | 
			
		||||
                                           "An invalid (not known to DNS) hostname",
 | 
			
		||||
                                           "nosuchhost" );
 | 
			
		||||
 | 
			
		||||
# try to determince interface
 | 
			
		||||
my $interface = '';
 | 
			
		||||
if(`ifconfig -a 2>/dev/null` =~ m/^(e\w*\d+)/mx and $1 ne 'eth0') {
 | 
			
		||||
    $interface = ' -i '.$1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
my $res;
 | 
			
		||||
SKIP: {
 | 
			
		||||
    skip('need responsive test host', 2) unless $host_responsive;
 | 
			
		||||
    $res = NPTest->testCmd(
 | 
			
		||||
        "$sudo ./check_dhcp $interface -u -s $host_responsive"
 | 
			
		||||
    );
 | 
			
		||||
    is( $res->return_code, 0, "Syntax ok" );
 | 
			
		||||
    like( $res->output, $successOutput, "Output OK" );
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
SKIP: {
 | 
			
		||||
    skip('need nonresponsive test host', 2) unless $host_nonresponsive;
 | 
			
		||||
    $res = NPTest->testCmd(
 | 
			
		||||
        "$sudo ./check_dhcp $interface -u -s $host_nonresponsive"
 | 
			
		||||
    );
 | 
			
		||||
    is( $res->return_code, 2, "Exit code - host nonresponsive" );
 | 
			
		||||
    like( $res->output, $failureOutput, "Output OK" );
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
SKIP: {
 | 
			
		||||
    skip('need invalid test host', 2) unless $hostname_invalid;
 | 
			
		||||
    $res = NPTest->testCmd(
 | 
			
		||||
        "$sudo ./check_dhcp $interface -u -s $hostname_invalid"
 | 
			
		||||
    );
 | 
			
		||||
    is( $res->return_code, 3, "Exit code - host invalid" );
 | 
			
		||||
    like( $res->output, $invalidOutput, "Output OK" );
 | 
			
		||||
};
 | 
			
		||||
							
								
								
									
										85
									
								
								plugins-root/t/check_icmp.t
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										85
									
								
								plugins-root/t/check_icmp.t
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,85 @@
 | 
			
		|||
#! /usr/bin/perl -w -I ..
 | 
			
		||||
#
 | 
			
		||||
# Ping Response Tests via check_icmp
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
use strict;
 | 
			
		||||
use Test::More;
 | 
			
		||||
use NPTest;
 | 
			
		||||
 | 
			
		||||
my $allow_sudo = getTestParameter( "NP_ALLOW_SUDO",
 | 
			
		||||
	"If sudo is setup for this user to run any command as root ('yes' to allow)",
 | 
			
		||||
	"no" );
 | 
			
		||||
 | 
			
		||||
if ($allow_sudo eq "yes" or $> == 0) {
 | 
			
		||||
	plan tests => 16;
 | 
			
		||||
} else {
 | 
			
		||||
	plan skip_all => "Need sudo to test check_icmp";
 | 
			
		||||
}
 | 
			
		||||
my $sudo = $> == 0 ? '' : 'sudo';
 | 
			
		||||
 | 
			
		||||
my $successOutput = '/OK - .*?: rta (?:[\d\.]+ms)|(?:nan), lost \d+%/';
 | 
			
		||||
my $failureOutput = '/(WARNING|CRITICAL) - .*?: rta [\d\.]+ms, lost \d%/';
 | 
			
		||||
 | 
			
		||||
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" );
 | 
			
		||||
 | 
			
		||||
my $res;
 | 
			
		||||
 | 
			
		||||
$res = NPTest->testCmd(
 | 
			
		||||
	"$sudo ./check_icmp -H $host_responsive -w 10000ms,100% -c 10000ms,100%"
 | 
			
		||||
	);
 | 
			
		||||
is( $res->return_code, 0, "Syntax ok" );
 | 
			
		||||
like( $res->output, $successOutput, "Output OK" );
 | 
			
		||||
 | 
			
		||||
$res = NPTest->testCmd(
 | 
			
		||||
	"$sudo ./check_icmp -H $host_responsive -w 0ms,0% -c 10000ms,100%"
 | 
			
		||||
	);
 | 
			
		||||
is( $res->return_code, 1, "Syntax ok, with forced warning" );
 | 
			
		||||
like( $res->output, $failureOutput, "Output OK" );
 | 
			
		||||
 | 
			
		||||
$res = NPTest->testCmd(
 | 
			
		||||
	"$sudo ./check_icmp -H $host_responsive -w 0,0% -c 0,0%"
 | 
			
		||||
	);
 | 
			
		||||
is( $res->return_code, 2, "Syntax ok, with forced critical" );
 | 
			
		||||
like( $res->output, $failureOutput, "Output OK" );
 | 
			
		||||
 | 
			
		||||
$res = NPTest->testCmd(
 | 
			
		||||
	"$sudo ./check_icmp -H $host_nonresponsive -w 10000ms,100% -c 10000ms,100%"
 | 
			
		||||
	);
 | 
			
		||||
is( $res->return_code, 2, "Timeout - host nonresponsive" );
 | 
			
		||||
like( $res->output, '/100%/', "Error contains '100%' string (for 100% packet loss)" );
 | 
			
		||||
 | 
			
		||||
$res = NPTest->testCmd(
 | 
			
		||||
	"$sudo ./check_icmp -w 10000ms,100% -c 10000ms,100%"
 | 
			
		||||
	);
 | 
			
		||||
is( $res->return_code, 3, "No hostname" );
 | 
			
		||||
like( $res->output, '/No hosts to check/', "Output with appropriate error message");
 | 
			
		||||
 | 
			
		||||
$res = NPTest->testCmd(
 | 
			
		||||
	"$sudo ./check_icmp -H $host_nonresponsive -w 10000ms,100% -c 10000ms,100% -n 1 -m 0"
 | 
			
		||||
	);
 | 
			
		||||
is( $res->return_code, 0, "One host nonresponsive - zero required" );
 | 
			
		||||
like( $res->output, $successOutput, "Output OK" );
 | 
			
		||||
 | 
			
		||||
$res = NPTest->testCmd(
 | 
			
		||||
	"$sudo ./check_icmp -H $host_responsive -H $host_nonresponsive -w 10000ms,100% -c 10000ms,100% -n 1 -m 1"
 | 
			
		||||
	);
 | 
			
		||||
is( $res->return_code, 0, "One of two host nonresponsive - one required" );
 | 
			
		||||
like( $res->output, $successOutput, "Output OK" );
 | 
			
		||||
 | 
			
		||||
$res = NPTest->testCmd(
 | 
			
		||||
	"$sudo ./check_icmp -H $host_responsive -H $host_nonresponsive -w 10000ms,100% -c 10000ms,100% -n 1 -m 2"
 | 
			
		||||
	);
 | 
			
		||||
is( $res->return_code, 2, "One of two host nonresponsive - two required" );
 | 
			
		||||
like( $res->output, $failureOutput, "Output OK" );
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue