ruby-changes:10488
From: akr <ko1@a...>
Date: Wed, 4 Feb 2009 22:38:38 +0900 (JST)
Subject: [ruby-changes:10488] Ruby:r22040 (trunk): relax tests for IPv4 compat/mapped IPv6 addresss.
akr 2009-02-04 22:38:24 +0900 (Wed, 04 Feb 2009) New Revision: 22040 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=22040 Log: relax tests for IPv4 compat/mapped IPv6 addresss. Modified files: trunk/test/socket/test_addrinfo.rb Index: test/socket/test_addrinfo.rb =================================================================== --- test/socket/test_addrinfo.rb (revision 22039) +++ test/socket/test_addrinfo.rb (revision 22040) @@ -480,7 +480,15 @@ list.each {|meth, *addrs| addrs.each {|addr| addr_exp = "AddrInfo.getaddrinfo(#{addr.inspect}, nil, :INET6, :DGRAM).fetch(0)" - assert(ipv6(addr).send(meth), "#{addr_exp}.#{meth}") + if meth == :ipv6_v4compat? || meth == :ipv6_v4mapped? + # MacOS X returns IPv4 address for ::ffff:1.2.3.4 and ::1.2.3.4. + # Solaris returns IPv4 address for ::ffff:1.2.3.4. + ai = ipv6(addr) + assert(ai.ipv4? || ai.send(meth), "ai=#{addr_exp}; ai.ipv4? || .#{meth}") + else + assert(ipv6(addr).send(meth), "#{addr_exp}.#{meth}") + assert_equal(addr, ipv6(addr).ip_address) + end list.each {|meth2,| next if meth == meth2 assert(!ipv6(addr).send(meth2), "!#{addr_exp}.#{meth2}") -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/