From c5aaa93450b75268a72a992ef39aca10dba7ee88 Mon Sep 17 00:00:00 2001 From: Steve Kemp Date: Wed, 4 Mar 2015 10:01:41 +0000 Subject: Allow tests to be qualified IPv4/IPv6-only. Via "ipv6_only" and "IPv4_only" --- lib/custodian/protocoltest/ping.rb | 30 +++++++++++++++++++++++++----- 1 file changed, 25 insertions(+), 5 deletions(-) (limited to 'lib/custodian/protocoltest/ping.rb') diff --git a/lib/custodian/protocoltest/ping.rb b/lib/custodian/protocoltest/ping.rb index 8f3911d..37722c2 100644 --- a/lib/custodian/protocoltest/ping.rb +++ b/lib/custodian/protocoltest/ping.rb @@ -116,18 +116,38 @@ module Custodian end + # + # Both types? + # + do_ipv6 = true + do_ipv4 = true + + # + # Allow the test to disable one/both + # + if ( @line =~ /ipv4_only/ ) + do_ipv6 = false + end + if ( @line =~ /ipv6_only/ ) + do_ipv4 = false + end + # # OK if it didn't look like an IP address then attempt to # look it up, as both IPv4 and IPv6. - # + # begin timeout( period ) do Resolv::DNS.open do |dns| - ress = dns.getresources(@host, Resolv::DNS::Resource::IN::A) - ress.map { |r| ips.push( r.address.to_s ) } - ress = dns.getresources(@host, Resolv::DNS::Resource::IN::AAAA) - ress.map { |r| ips.push( r.address.to_s ) } + if ( do_ipv4 ) + ress = dns.getresources(@host, Resolv::DNS::Resource::IN::A) + ress.map { |r| ips.push( r.address.to_s ) } + end + if ( do_ipv6 ) + ress = dns.getresources(@host, Resolv::DNS::Resource::IN::AAAA) + ress.map { |r| ips.push( r.address.to_s ) } + end end end rescue Timeout::Error => e -- cgit v1.2.1