ruby-changes:52435
From: eregon <ko1@a...>
Date: Thu, 6 Sep 2018 05:39:23 +0900 (JST)
Subject: [ruby-changes:52435] eregon:r64644 (trunk): Add platform guards for AIX
eregon 2018-09-06 05:39:19 +0900 (Thu, 06 Sep 2018) New Revision: 64644 https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=64644 Log: Add platform guards for AIX * Most of these seem OS bugs. * See https://rubyci.org/logs/rubyci.s3.amazonaws.com/aix71_ppc/ruby-trunk/log/20180905T103302Z.fail.html.gz Modified files: trunk/spec/ruby/library/socket/addrinfo/ipv6_linklocal_spec.rb trunk/spec/ruby/library/socket/addrinfo/ipv6_sitelocal_spec.rb trunk/spec/ruby/library/socket/addrinfo/ipv6_to_ipv4_spec.rb trunk/spec/ruby/library/socket/basicsocket/connect_address_spec.rb trunk/spec/ruby/library/socket/socket/gethostbyaddr_spec.rb trunk/spec/ruby/library/socket/unixsocket/local_address_spec.rb Index: spec/ruby/library/socket/addrinfo/ipv6_linklocal_spec.rb =================================================================== --- spec/ruby/library/socket/addrinfo/ipv6_linklocal_spec.rb (revision 64643) +++ spec/ruby/library/socket/addrinfo/ipv6_linklocal_spec.rb (revision 64644) @@ -2,11 +2,13 @@ require_relative '../spec_helper' https://github.com/ruby/ruby/blob/trunk/spec/ruby/library/socket/addrinfo/ipv6_linklocal_spec.rb#L2 guard -> { SocketSpecs.ipv6_available? } do describe 'Addrinfo#ipv6_linklocal?' do - it 'returns true for a link-local address' do - Addrinfo.ip('fe80::').ipv6_linklocal?.should == true - Addrinfo.ip('fe81::').ipv6_linklocal?.should == true - Addrinfo.ip('fe8f::').ipv6_linklocal?.should == true - Addrinfo.ip('fe80::1').ipv6_linklocal?.should == true + platform_is_not :aix do + it 'returns true for a link-local address' do + Addrinfo.ip('fe80::').ipv6_linklocal?.should == true + Addrinfo.ip('fe81::').ipv6_linklocal?.should == true + Addrinfo.ip('fe8f::').ipv6_linklocal?.should == true + Addrinfo.ip('fe80::1').ipv6_linklocal?.should == true + end end it 'returns false for a regular address' do Index: spec/ruby/library/socket/addrinfo/ipv6_sitelocal_spec.rb =================================================================== --- spec/ruby/library/socket/addrinfo/ipv6_sitelocal_spec.rb (revision 64643) +++ spec/ruby/library/socket/addrinfo/ipv6_sitelocal_spec.rb (revision 64644) @@ -2,11 +2,13 @@ require_relative '../spec_helper' https://github.com/ruby/ruby/blob/trunk/spec/ruby/library/socket/addrinfo/ipv6_sitelocal_spec.rb#L2 guard -> { SocketSpecs.ipv6_available? } do describe 'Addrinfo#ipv6_sitelocal?' do - it 'returns true for a site-local address' do - Addrinfo.ip('feef::').ipv6_sitelocal?.should == true - Addrinfo.ip('fee0::').ipv6_sitelocal?.should == true - Addrinfo.ip('fee2::').ipv6_sitelocal?.should == true - Addrinfo.ip('feef::1').ipv6_sitelocal?.should == true + platform_is_not :aix do + it 'returns true for a site-local address' do + Addrinfo.ip('feef::').ipv6_sitelocal?.should == true + Addrinfo.ip('fee0::').ipv6_sitelocal?.should == true + Addrinfo.ip('fee2::').ipv6_sitelocal?.should == true + Addrinfo.ip('feef::1').ipv6_sitelocal?.should == true + end end it 'returns false for a regular IPv6 address' do Index: spec/ruby/library/socket/addrinfo/ipv6_to_ipv4_spec.rb =================================================================== --- spec/ruby/library/socket/addrinfo/ipv6_to_ipv4_spec.rb (revision 64643) +++ spec/ruby/library/socket/addrinfo/ipv6_to_ipv4_spec.rb (revision 64644) @@ -11,31 +11,33 @@ guard -> { SocketSpecs.ipv6_available? } https://github.com/ruby/ruby/blob/trunk/spec/ruby/library/socket/addrinfo/ipv6_to_ipv4_spec.rb#L11 addr.ip_address.should == '192.168.1.1' end - it 'returns an Addrinfo for ::0.0.1.1' do - addr = Addrinfo.ip('::0.0.1.1').ipv6_to_ipv4 + platform_is_not :aix do + it 'returns an Addrinfo for ::0.0.1.1' do + addr = Addrinfo.ip('::0.0.1.1').ipv6_to_ipv4 - addr.should be_an_instance_of(Addrinfo) + addr.should be_an_instance_of(Addrinfo) - addr.afamily.should == Socket::AF_INET - addr.ip_address.should == '0.0.1.1' - end + addr.afamily.should == Socket::AF_INET + addr.ip_address.should == '0.0.1.1' + end - it 'returns an Addrinfo for ::0.0.1.0' do - addr = Addrinfo.ip('::0.0.1.0').ipv6_to_ipv4 + it 'returns an Addrinfo for ::0.0.1.0' do + addr = Addrinfo.ip('::0.0.1.0').ipv6_to_ipv4 - addr.should be_an_instance_of(Addrinfo) + addr.should be_an_instance_of(Addrinfo) - addr.afamily.should == Socket::AF_INET - addr.ip_address.should == '0.0.1.0' - end + addr.afamily.should == Socket::AF_INET + addr.ip_address.should == '0.0.1.0' + end - it 'returns an Addrinfo for ::0.1.0.0' do - addr = Addrinfo.ip('::0.1.0.0').ipv6_to_ipv4 + it 'returns an Addrinfo for ::0.1.0.0' do + addr = Addrinfo.ip('::0.1.0.0').ipv6_to_ipv4 - addr.should be_an_instance_of(Addrinfo) + addr.should be_an_instance_of(Addrinfo) - addr.afamily.should == Socket::AF_INET - addr.ip_address.should == '0.1.0.0' + addr.afamily.should == Socket::AF_INET + addr.ip_address.should == '0.1.0.0' + end end it 'returns an Addrinfo for ::ffff:192.168.1.1' do Index: spec/ruby/library/socket/socket/gethostbyaddr_spec.rb =================================================================== --- spec/ruby/library/socket/socket/gethostbyaddr_spec.rb (revision 64643) +++ spec/ruby/library/socket/socket/gethostbyaddr_spec.rb (revision 64644) @@ -62,7 +62,7 @@ describe 'Socket.gethostbyaddr' do https://github.com/ruby/ruby/blob/trunk/spec/ruby/library/socket/socket/gethostbyaddr_spec.rb#L62 end end - guard -> { SocketSpecs.ipv6_available? } do + guard -> { SocketSpecs.ipv6_available? && platform_is_not(:aix) } do describe 'using an IPv6 address' do before do @addr = IPAddr.new('::1').hton Index: spec/ruby/library/socket/basicsocket/connect_address_spec.rb =================================================================== --- spec/ruby/library/socket/basicsocket/connect_address_spec.rb (revision 64643) +++ spec/ruby/library/socket/basicsocket/connect_address_spec.rb (revision 64644) @@ -95,21 +95,23 @@ describe 'Socket#connect_address' do https://github.com/ruby/ruby/blob/trunk/spec/ruby/library/socket/basicsocket/connect_address_spec.rb#L95 end with_feature :unix_socket do - describe 'using an unbound UNIX socket' do - before do - @path = SocketSpecs.socket_path - @server = UNIXServer.new(@path) - @client = UNIXSocket.new(@path) - end + platform_is_not :aix do + describe 'using an unbound UNIX socket' do + before do + @path = SocketSpecs.socket_path + @server = UNIXServer.new(@path) + @client = UNIXSocket.new(@path) + end - after do - @client.close - @server.close - rm_r(@path) - end + after do + @client.close + @server.close + rm_r(@path) + end - it 'raises SocketError' do - lambda { @client.connect_address }.should raise_error(SocketError) + it 'raises SocketError' do + lambda { @client.connect_address }.should raise_error(SocketError) + end end end Index: spec/ruby/library/socket/unixsocket/local_address_spec.rb =================================================================== --- spec/ruby/library/socket/unixsocket/local_address_spec.rb (revision 64643) +++ spec/ruby/library/socket/unixsocket/local_address_spec.rb (revision 64644) @@ -21,20 +21,24 @@ with_feature :unix_socket do https://github.com/ruby/ruby/blob/trunk/spec/ruby/library/socket/unixsocket/local_address_spec.rb#L21 end describe 'the returned Addrinfo' do - it 'uses AF_UNIX as the address family' do - @client.local_address.afamily.should == Socket::AF_UNIX - end + platform_is_not :aix do + it 'uses AF_UNIX as the address family' do + @client.local_address.afamily.should == Socket::AF_UNIX + end - it 'uses PF_UNIX as the protocol family' do - @client.local_address.pfamily.should == Socket::PF_UNIX + it 'uses PF_UNIX as the protocol family' do + @client.local_address.pfamily.should == Socket::PF_UNIX + end end it 'uses SOCK_STREAM as the socket type' do @client.local_address.socktype.should == Socket::SOCK_STREAM end - it 'uses an empty socket path' do - @client.local_address.unix_path.should == '' + platform_is_not :aix do + it 'uses an empty socket path' do + @client.local_address.unix_path.should == '' + end end it 'uses 0 as the protocol' do -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/