[nagiosplug] tests: move ipv6 detection into NPTest module

Nagios Plugin Development nagios-plugins at users.sourceforge.net
Sun Sep 15 00:00:46 CEST 2013


 Module: nagiosplug
 Branch: master
 Commit: 7b122f13dbb0bd714b47e1181ba36bfbb3bd7658
 Author: Sven Nierlein <sven at consol.de>
   Date: Sat Sep 14 19:36:20 2013 +0200
    URL: http://nagiosplug.git.sf.net/git/gitweb.cgi?p=nagiosplug/nagiosplug;a=commit;h=7b122f1

tests: move ipv6 detection into NPTest module

---

 NPTest.pm             |   10 ++++++++++
 plugins/t/check_dig.t |   20 +++++++++++++-------
 plugins/t/check_tcp.t |   16 +++++-----------
 3 files changed, 28 insertions(+), 18 deletions(-)

diff --git a/NPTest.pm b/NPTest.pm
index c719776..f14657c 100644
--- a/NPTest.pm
+++ b/NPTest.pm
@@ -645,6 +645,16 @@ sub testCmd {
 	return $object;
 }
 
+# do we have ipv6
+sub has_ipv6 {
+    # assume ipv6 if a ping6 to labs.consol.de works
+    `ping6 -c 1 2a03:3680:0:2::21 2>&1`;
+    if($? == 0) {
+        return 1;
+    }
+    return;
+}
+
 1;
 #
 # End of File
diff --git a/plugins/t/check_dig.t b/plugins/t/check_dig.t
index 1ab4b42..d447f08 100644
--- a/plugins/t/check_dig.t
+++ b/plugins/t/check_dig.t
@@ -6,11 +6,16 @@
 
 use strict;
 use Test::More;
-use NPTest;
 
-plan skip_all => "check_dig not compiled" unless (-x "check_dig");
 
-plan tests => 16;
+use vars qw($tests $has_ipv6);
+BEGIN {
+    plan skip_all => "check_dig not compiled" unless (-x "check_dig");
+    use NPTest;
+    $has_ipv6 = NPTest::has_ipv6();
+    $tests = $has_ipv6 ? 16 : 14;
+    plan tests => $tests;
+}
 
 my $successOutput = '/DNS OK - [\.0-9]+ seconds? response time/';
 
@@ -73,10 +78,6 @@ SKIP: {
 	cmp_ok( $res->return_code, '==', 0, "Found $hostname_valid on $dns_server");
 	like  ( $res->output, $successOutput, "Output OK for IPv4" );
 
-	$res = NPTest->testCmd("./check_dig -H $dns_server -l $hostname_valid  -t 5 -6");
-	cmp_ok( $res->return_code, '==', 0, "Found $hostname_valid on $dns_server");
-	like  ( $res->output, $successOutput, "Output OK for IPv6" );
-
 	$res = NPTest->testCmd("./check_dig -H $dns_server -l $hostname_valid -a $hostname_valid_ip -t 5");
 	cmp_ok( $res->return_code, '==', 0, "Got expected address");
 
@@ -89,4 +90,9 @@ SKIP: {
 	cmp_ok( $res->return_code, '==', 0, "Got expected fqdn");
 	like  ( $res->output, $successOutput, "Output OK");
 
+    if($has_ipv6) {
+	    $res = NPTest->testCmd("./check_dig -H $dns_server -l $hostname_valid  -t 5 -6");
+	    cmp_ok( $res->return_code, '==', 0, "Found $hostname_valid on $dns_server");
+	    like  ( $res->output, $successOutput, "Output OK for IPv6" );
+    }
 }
diff --git a/plugins/t/check_tcp.t b/plugins/t/check_tcp.t
index 0e6a964..abb16ae 100644
--- a/plugins/t/check_tcp.t
+++ b/plugins/t/check_tcp.t
@@ -6,19 +6,13 @@
 
 use strict;
 use Test;
-use NPTest;
 
-use vars qw($tests);
-my $has_ipv6;
+use vars qw($tests $has_ipv6);
 BEGIN {
-  $tests = 11;
-  # do we have ipv6
-  `ping6 -c 1 2a02:2e0:3fe:100::7 2>&1`;
-  if($? == 0) {
-    $has_ipv6 = 1;
-    $tests += 3;
-  }
-  plan tests => $tests;
+    use NPTest;
+    $has_ipv6 = NPTest::has_ipv6();
+    $tests = $has_ipv6 ? 14 : 11;
+    plan tests => $tests;
 }
 
 





More information about the Commits mailing list