SF.net SVN: nagiosplug: [1834] nagiosplug/branches/dermoth_ntp_rework/ plugins/t/check_ntp.t

[email protected]
Newsgroups gmane.network.nagios.plugins.cvs
Message-ID <[email protected]>
Revision: 1834
          http://nagiosplug.svn.sourceforge.net/nagiosplug/?rev=1834&view=rev
Author:   dermoth
Date:     2007-11-25 23:53:30 -0800 (Sun, 25 Nov 2007)

Log Message:
-----------
More refined check, clearer messages

Modified Paths:
--------------
    nagiosplug/branches/dermoth_ntp_rework/plugins/t/check_ntp.t

Modified: nagiosplug/branches/dermoth_ntp_rework/plugins/t/check_ntp.t
===================================================================
--- nagiosplug/branches/dermoth_ntp_rework/plugins/t/check_ntp.t	2007-11-23 22:06:28 UTC (rev 1833)
+++ nagiosplug/branches/dermoth_ntp_rework/plugins/t/check_ntp.t	2007-11-26 07:53:30 UTC (rev 1834)
@@ -12,7 +12,7 @@
 my @PLUGINS1 = ('check_ntp', 'check_ntp_peer', 'check_ntp_time');
 my @PLUGINS2 = ('check_ntp_peer');
 
-plan tests => (9 * scalar(@PLUGINS1)) + (6 * scalar(@PLUGINS2));
+plan tests => (12 * scalar(@PLUGINS1)) + (6 * scalar(@PLUGINS2));
 
 my $res;
 
@@ -38,46 +38,52 @@
 my $ntp_okmatch2 = '/^NTP\sOK:\sOffset\s-?[0-9]+(\.[0-9]+)?(e-[0-9]{2})?\ssecs,\sjitter=[0-9]+\.[0-9]+,\sstratum=[0-9]{1,2}/';
 my $ntp_warnmatch2 = '/^NTP\sWARNING:\sOffset\s-?[0-9]+(\.[0-9]+)?(e-[0-9]{2})?\ssecs,\sjitter=[0-9]+\.[0-9]+,\sstratum=[0-9]{1,2}/';
 my $ntp_critmatch2 = '/^NTP\sCRITICAL:\sOffset\s-?[0-9]+(\.[0-9]+)?(e-[0-9]{2})?\ssecs,\sjitter=[0-9]+\.[0-9]+,\sstratum=[0-9]{1,2}/';
+my $ntp_noresponse = '/^(CRITICAL - Socket timeout after 3 seconds)|(NTP CRITICAL: No response from NTP server)$/';
+my $ntp_nosuchhost = '/^check_ntp.*: Invalid hostname/address - ' . $hostname_invalid . '/';
 
+
 foreach my $plugin (@PLUGINS1) {
 	SKIP: {
 		skip "No NTP server defined", 1 unless $ntp_service;
 		$res = NPTest->testCmd(
 			"./$plugin -H $ntp_service -w 1000 -c 2000"
 			);
-		cmp_ok( $res->return_code, '==', 0, "$plugin: Got good NTP result");
-		like( $res->output, $ntp_okmatch1, "Output OK" );
+		cmp_ok( $res->return_code, '==', 0, "$plugin: Good NTP result (simple check)" );
+		like( $res->output, $ntp_okmatch1, "$plugin: Output match OK (simple check)" );
 
 		$res = NPTest->testCmd(
 			"./$plugin -H $ntp_service -w 1000: -c 2000"
 			);
-		cmp_ok( $res->return_code, '==', 1, "$plugin: Got warning NTP result");
-		like( $res->output, $ntp_warnmatch1, "Output WARNING" );
+		cmp_ok( $res->return_code, '==', 1, "$plugin: Warning NTP result (simple check)" );
+		like( $res->output, $ntp_warnmatch1, "$plugin: Output match WARNING (simple check)" );
 
 		$res = NPTest->testCmd(
 			"./$plugin -H $ntp_service -w 1000 -c 2000:"
 			);
-		cmp_ok( $res->return_code, '==', 2, "$plugin: Got critical NTP result");
-		like( $res->output, $ntp_critmatch1, "Output CRITICAL" );
+		cmp_ok( $res->return_code, '==', 2, "$plugin: Critical NTP result (simple check)" );
+		like( $res->output, $ntp_critmatch1, "$plugin: Output match CRITICAL (simple check)" );
 	}
 
 	SKIP: {
 		skip "No bad NTP server defined", 1 unless $no_ntp_service;
 		$res = NPTest->testCmd(
-			"./$plugin -H $no_ntp_service"
+			"./$plugin -H $no_ntp_service -t 3"
 			);
-		cmp_ok( $res->return_code, '==', 2, "$plugin: Got bad NTP result");
+		cmp_ok( $res->return_code, '==', 2, "$plugin: No NTP service" );
+		like( $res->output, $ntp_noresponse, "$plugin: Output match no NTP service" );
 	}
 
 	$res = NPTest->testCmd(
-		"./$plugin -H $host_nonresponsive"
+		"./$plugin -H $host_nonresponsive -t 3"
 		);
-	cmp_ok( $res->return_code, '==', 2, "$plugin: Got critical if server not responding");
+	cmp_ok( $res->return_code, '==', 2, "$plugin: Server not responding" );
+	like( $res->output, $ntp_noresponse, "$plugin: Output match non-responsive" );
 
 	$res = NPTest->testCmd(
 		"./$plugin -H $hostname_invalid"
 		);
-	cmp_ok( $res->return_code, '==', 3, "$plugin: Got critical if server hostname invalid");
+	cmp_ok( $res->return_code, '==', 3, "$plugin: Invalid hostname/address" );
+	like( $res->output, $ntp_nosuchhost, "$plugin: Output match invalid hostname/address" );
 
 }
 
@@ -87,19 +93,19 @@
 		$res = NPTest->testCmd(
 			"./$plugin -H $ntp_service -w 1000 -c 2000 -W 20 -C 21 -j 100000 -k 200000"
 			);
-		cmp_ok( $res->return_code, '==', 0, "$plugin: Got good NTP result");
-		like( $res->output, $ntp_okmatch2, "Output OK" );
+		cmp_ok( $res->return_code, '==', 0, "$plugin: Good NTP result with jitter and stratum check" );
+		like( $res->output, $ntp_okmatch2, "$plugin: Output match OK with jitter and stratum" );
 
 		$res = NPTest->testCmd(
 			"./$plugin -H $ntp_service -w 1000 -c 2000 -W ~:-1 -C 21 -j 100000 -k 200000"
 			);
-		cmp_ok( $res->return_code, '==', 1, "$plugin: Got warning NTP result");
-		like( $res->output, $ntp_warnmatch2, "Output WARNING" );
+		cmp_ok( $res->return_code, '==', 1, "$plugin: Warning NTP result with jitter and stratum check" );
+		like( $res->output, $ntp_warnmatch2, "$plugin: Output match WARNING with jitter and stratum" );
 
 		$res = NPTest->testCmd(
 			"./$plugin -H $ntp_service -w 1000 -c 2000 -W 20 -C 21 -j 100000 -k ~:-1"
 			);
-		cmp_ok( $res->return_code, '==', 2, "$plugin: Got critical NTP result");
-		like( $res->output, $ntp_critmatch2, "Output CRITICAL" );
+		cmp_ok( $res->return_code, '==', 2, "$plugin: Critical NTP result with jitter and stratum check" );
+		like( $res->output, $ntp_critmatch2, "$plugin: Output match CRITICAL with jitter and stratum" );
 	}
 }


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.