Issue #8159 has been updated by naruse (Yui NARUSE).


akr (Akira Tanaka) wrote:
> 2013/3/25 naruse (Yui NARUSE) <naruse / airemix.jp>:
>  >
>  > Issue #8159 has been updated by naruse (Yui NARUSE).
>  >
>  >
>  > I create an experimental patch as following for failures on Linux:
>  > http://u64.rubyci.org/~chkbuild/ruby-trunk/log/20130324T210202Z.log.html.gz
>  >
>  > diff --git a/ext/socket/socket.c b/ext/socket/socket.c
>  > index 1ddaea9..44703c1 100644
>  > --- a/ext/socket/socket.c
>  > +++ b/ext/socket/socket.c
>  > @@ -1585,7 +1585,9 @@ socket_s_ip_address_list(VALUE self)
>  >      for (p = ifp; p; p = p->ifa_next) {
>  >          if (p->ifa_addr != NULL && IS_IP_FAMILY(p->ifa_addr->sa_family)) {
>  >              struct sockaddr *addr = p->ifa_addr;
>  > -            rb_ary_push(list, sockaddr_obj(addr, sockaddr_len(addr)));
>  > +            ai = sockaddr_obj(addr, sockaddr_len(addr));
>  > +            rb_ivar_set(ai, rb_intern("@ifa_name"), rb_str_new_cstr(p->ifa_name));
>  > +            rb_ary_push(list, ai);
>  >          }
>  >      }
>  >
>  
>  It seems we need Socket.getifaddrs.

Sure, but what is the type of its return value?
Extended Addrinfo or a new object like Ifaddr?
----------------------------------------
Bug #8159: Build failure introduced by Rinda changes
https://bugs.ruby-lang.org/issues/8159#change-37917

Author: luislavena (Luis Lavena)
Status: Assigned
Priority: Normal
Assignee: drbrain (Eric Hodel)
Category: test
Target version: next minor
ruby -v: ruby 2.1.0dev (2013-03-24 trunk 39905) [x64-mingw32]


=begin

Seems latest Rinda-related changes affected build under Windows:

http://ci.rubyinstaller.org/job/ruby-trunk-x64-test-all/936/console

   2) Error:
 test_take_bug_8215(Rinda::TupleSpaceProxyTest):
 NotImplementedError: fork() function is unimplemented on this machine
     C:/Users/Worker/Jenkins/workspace/ruby-trunk-x64-build/test/rinda/test_rinda.rb:486:in `fork'
     C:/Users/Worker/Jenkins/workspace/ruby-trunk-x64-build/test/rinda/test_rinda.rb:486:in `test_take_bug_8215'

   3) Error:
 test_make_socket_ipv4_multicast(Rinda::TestRingServer):
 Errno::EADDRNOTAVAIL: The requested address is not valid in its context. - bind(2)
     C:/Users/Worker/Jenkins/workspace/ruby-trunk-x64-build/lib/rinda/ring.rb:117:in `bind'
     C:/Users/Worker/Jenkins/workspace/ruby-trunk-x64-build/lib/rinda/ring.rb:117:in `make_socket'
     C:/Users/Worker/Jenkins/workspace/ruby-trunk-x64-build/test/rinda/test_rinda.rb:542:in `test_make_socket_ipv4_multicast'

r39895 seems to have introduced a test that is not skipping on non-fork() platforms.

=end


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