[nagios-plugins] fixed tests when there is no direct internet ...

Git Repository git at nagios-plugins.org
Fri Dec 27 12:50:05 CET 2013


    Module: nagios-plugins
    Branch: maint
    Commit: d8354ec15d05241dd28891771609839b73507d28
    Author: Sven Nierlein <Sven.Nierlein at consol.de>
 Committer: Sven Nierlein <sven at consol.de>
      Date: Fri Dec 27 01:14:50 2013 +0100
       URL: https://www.nagios-plugins.org/repositories/nagios-plugins/commit/?id=d8354ec

fixed tests when there is no direct internet connection

 - check http had wrong number of skipped tests
 - check tcp did not use the 'no internet' flag at all

---

 plugins/t/check_http.t |  2 +-
 plugins/t/check_tcp.t  | 18 +++++++++++++-----
 2 files changed, 14 insertions(+), 6 deletions(-)

diff --git a/plugins/t/check_http.t b/plugins/t/check_http.t
index 2908673..29cac69 100644
--- a/plugins/t/check_http.t
+++ b/plugins/t/check_http.t
@@ -82,7 +82,7 @@ SKIP: {
         cmp_ok( $res->return_code, "==", 0, "And also when not found");
 }
 SKIP: {
-        skip "No internet access", 11 if $internet_access eq "no";
+        skip "No internet access", 16 if $internet_access eq "no";
 
         $res = NPTest->testCmd(
                 "./check_http --ssl www.verisign.com"
diff --git a/plugins/t/check_tcp.t b/plugins/t/check_tcp.t
index abb16ae..f996685 100644
--- a/plugins/t/check_tcp.t
+++ b/plugins/t/check_tcp.t
@@ -12,7 +12,6 @@ BEGIN {
     use NPTest;
     $has_ipv6 = NPTest::has_ipv6();
     $tests = $has_ipv6 ? 14 : 11;
-    plan tests => $tests;
 }
 
 
@@ -25,20 +24,29 @@ my $host_nonresponsive = getTestParameter( "host_nonresponsive", "NP_HOST_NONRES
 my $hostname_invalid   = getTestParameter( "hostname_invalid",   "NP_HOSTNAME_INVALID",   "nosuchhost",
                                            "An invalid (not known to DNS) hostname" );
 
+my $internet_access    = getTestParameter( "NP_INTERNET_ACCESS",
+                                           "Is this system directly connected to the internet?",
+                                           "yes");
+
 my $successOutput = '/^TCP OK\s-\s+[0-9]?\.?[0-9]+ second response time on port [0-9]+/';
 
 my $failedExpect = '/^TCP WARNING\s-\sUnexpected response from host/socket on port [0-9]+/';
 
 my $t;
 
+$tests = $tests - 4 if $internet_access eq "no";
+plan tests => $tests;
+
 $t += checkCmd( "./check_tcp $host_tcp_http      -p 80 -wt 300 -ct 600",       0, $successOutput );
 $t += checkCmd( "./check_tcp $host_tcp_http      -p 81 -wt   0 -ct   0 -to 1", 2 ); # use invalid port for this test
 $t += checkCmd( "./check_tcp $host_nonresponsive -p 80 -wt   0 -ct   0 -to 1", 2 );
 $t += checkCmd( "./check_tcp $hostname_invalid   -p 80 -wt   0 -ct   0 -to 1", 2 );
-$t += checkCmd( "./check_tcp -S -D 1 -H www.verisign.com -p 443",              0 );
-$t += checkCmd( "./check_tcp -S -D 9000,1    -H www.verisign.com -p 443",      1 );
-$t += checkCmd( "./check_tcp -S -D 9000      -H www.verisign.com -p 443",      1 );
-$t += checkCmd( "./check_tcp -S -D 9000,8999 -H www.verisign.com -p 443",      2 );
+if($internet_access ne "no") {
+    $t += checkCmd( "./check_tcp -S -D 1 -H www.verisign.com -p 443",              0 );
+    $t += checkCmd( "./check_tcp -S -D 9000,1    -H www.verisign.com -p 443",      1 );
+    $t += checkCmd( "./check_tcp -S -D 9000      -H www.verisign.com -p 443",      1 );
+    $t += checkCmd( "./check_tcp -S -D 9000,8999 -H www.verisign.com -p 443",      2 );
+}
 
 # Need the \r\n to make it more standards compliant with web servers. Need the various quotes
 # so that perl doesn't interpret the \r\n and is passed onto command line correctly




More information about the Commits mailing list