Issue #6692 has been reported by drbrain (Eric Hodel).

----------------------------------------
Bug #6692: TestSocket::test_udp_server always fails on OS X with Back to my Mac enabled
https://bugs.ruby-lang.org/issues/6692

Author: drbrain (Eric Hodel)
Status: Open
Priority: Normal
Assignee: 
Category: ext
Target version: 2.0.0
ruby -v: -


=begin
OS X ships with a feature to create a VPN between all your Mac computers.

This creates an extra utun interface for the tunnel and a unique local IPv6 unicast addresses on the loopback interface:

  lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
  	options=3<RXCSUM,TXCSUM>
  	inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1 
  	inet 127.0.0.1 netmask 0xff000000 
  	inet6 ::1 prefixlen 128 
  	inet6 fd92:5aed:a1b2:7539:129a:ddff:fe49:be28 prefixlen 128 

(I have invalidated this address)

test_udp_server discovers the addresses for the local machine and attempts to send a UDP message to them.  Unfortunately the Back to my Mac address does not respond to any communication:

  $ ping6 -c 10 fd92:5aed:a1b2:7539:129a:ddff:fe49:be28
  PING6(56=40+8+8 bytes) fd92:5aed:a1b2:7539:129a:ddff:fe49:be28 --> fd92:5aed:a1b2:7539:129a:ddff:fe49:be28
  
  --- fd92:5aed:a1b2:7539:129a:ddff:fe49:be28 ping6 statistics ---
  10 packets transmitted, 0 packets received, 100.0% packet loss

So the test always fails:

  $ make test-all TESTS='socket -n test_udp_server'
  [กฤ]
  # Running tests:
  
  [1/1] TestSocket#test_udp_server = 10.01 s
    1) Error:
  test_udp_server(TestSocket):
  RuntimeError: no response from #<Addrinfo: fd92:5aed:a1b2:7539:129a:ddff:fe49:be28>
      /Users/drbrain/Work/svn/ruby/trunk/test/socket/test_socket.rb:375:in `block (3 levels) in test_udp_server'
      /Users/drbrain/Work/svn/ruby/trunk/.ext/common/socket.rb:68:in `connect_internal'
      /Users/drbrain/Work/svn/ruby/trunk/.ext/common/socket.rb:135:in `connect'
      /Users/drbrain/Work/svn/ruby/trunk/test/socket/test_socket.rb:371:in `block (2 levels) in test_udp_server'
      /Users/drbrain/Work/svn/ruby/trunk/test/socket/test_socket.rb:370:in `each'
      /Users/drbrain/Work/svn/ruby/trunk/test/socket/test_socket.rb:370:in `block in test_udp_server'
      /Users/drbrain/Work/svn/ruby/trunk/.ext/common/socket.rb:628:in `udp_server_sockets'
      /Users/drbrain/Work/svn/ruby/trunk/test/socket/test_socket.rb:309:in `test_udp_server'
  
  Finished tests in 10.021782s, 0.0998 tests/s, 0.3991 assertions/s.
  1 tests, 4 assertions, 0 failures, 1 errors, 0 skips
  
  ruby -v: ruby 2.0.0dev (2012-07-04 trunk 36295) [x86_64-darwin11.4.0]

I'm unsure how to filter the Back to my Mac address to allow this test to pass.

To reproduce this test failure, get a Mac and enable Back to my Mac in the iCloud (10.7) or MobileMe (10.6 and earlier) preference pane, then run:

  make test-all TESTS='socket -n test_udp_server'

=end



-- 
http://bugs.ruby-lang.org/