From 986d0ecf3612547f480b8ab85b6aefce2ce2a5b7 Mon Sep 17 00:00:00 2001 From: Thomas Guyot-Sionnest Date: Mon, 26 Nov 2007 07:53:30 +0000 Subject: More refined check, clearer messages git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/branches/dermoth_ntp_rework@1834 f882894a-f735-0410-b71e-b25c423dba1c --- plugins/t/check_ntp.t | 42 ++++++++++++++++++++++++------------------ 1 file changed, 24 insertions(+), 18 deletions(-) (limited to 'plugins/t') diff --git a/plugins/t/check_ntp.t b/plugins/t/check_ntp.t index e7eb0c41..ae7f0369 100644 --- a/plugins/t/check_ntp.t +++ b/plugins/t/check_ntp.t @@ -12,7 +12,7 @@ use NPTest; 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,6 +38,9 @@ my $ntp_critmatch1 = '/^NTP\sCRITICAL:\sOffset\s-?[0-9]+(\.[0-9]+)?(e-[0-9]{2})? 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: { @@ -45,39 +48,42 @@ foreach my $plugin (@PLUGINS1) { $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 @@ foreach my $plugin (@PLUGINS2) { $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" ); } } -- cgit v1.2.3-74-g34f1