зеркало из https://github.com/github/ruby.git
spec/ruby/library/socket/addrinfo: skip the specs that uses SOCK_SEQPACKET on Android
SOCK_SEQPACKET seems not to be supported on Android
This commit is contained in:
Родитель
89bfad17d5
Коммит
db8c8c0916
|
@ -274,15 +274,17 @@ describe "Addrinfo#initialize" do
|
|||
end
|
||||
end
|
||||
|
||||
with_feature :sock_packet do
|
||||
[:SOCK_SEQPACKET].each do |type|
|
||||
it "overwrites the socket type #{type}" do
|
||||
sockaddr = ['AF_INET', 80, 'hostname', '127.0.0.1']
|
||||
platform_is_not :android do
|
||||
with_feature :sock_packet do
|
||||
[:SOCK_SEQPACKET].each do |type|
|
||||
it "overwrites the socket type #{type}" do
|
||||
sockaddr = ['AF_INET', 80, 'hostname', '127.0.0.1']
|
||||
|
||||
value = Socket.const_get(type)
|
||||
addr = Addrinfo.new(sockaddr, nil, value)
|
||||
value = Socket.const_get(type)
|
||||
addr = Addrinfo.new(sockaddr, nil, value)
|
||||
|
||||
addr.socktype.should == value
|
||||
addr.socktype.should == value
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -448,28 +450,30 @@ describe "Addrinfo#initialize" do
|
|||
end
|
||||
|
||||
platform_is :linux do
|
||||
describe 'and the socket type is set to SOCK_SEQPACKET' do
|
||||
before do
|
||||
@socktype = Socket::SOCK_SEQPACKET
|
||||
end
|
||||
|
||||
valid = [:IPPROTO_IP, :IPPROTO_HOPOPTS]
|
||||
|
||||
valid.each do |type|
|
||||
it "overwrites the protocol when using #{type}" do
|
||||
value = Socket.const_get(type)
|
||||
addr = Addrinfo.new(@sockaddr, nil, @socktype, value)
|
||||
|
||||
addr.protocol.should == value
|
||||
platform_is_not :android do
|
||||
describe 'and the socket type is set to SOCK_SEQPACKET' do
|
||||
before do
|
||||
@socktype = Socket::SOCK_SEQPACKET
|
||||
end
|
||||
end
|
||||
|
||||
(Socket.constants.grep(/^IPPROTO/) - valid).each do |type|
|
||||
it "raises SocketError when using #{type}" do
|
||||
value = Socket.const_get(type)
|
||||
block = -> { Addrinfo.new(@sockaddr, nil, @socktype, value) }
|
||||
valid = [:IPPROTO_IP, :IPPROTO_HOPOPTS]
|
||||
|
||||
block.should raise_error(SocketError)
|
||||
valid.each do |type|
|
||||
it "overwrites the protocol when using #{type}" do
|
||||
value = Socket.const_get(type)
|
||||
addr = Addrinfo.new(@sockaddr, nil, @socktype, value)
|
||||
|
||||
addr.protocol.should == value
|
||||
end
|
||||
end
|
||||
|
||||
(Socket.constants.grep(/^IPPROTO/) - valid).each do |type|
|
||||
it "raises SocketError when using #{type}" do
|
||||
value = Socket.const_get(type)
|
||||
block = -> { Addrinfo.new(@sockaddr, nil, @socktype, value) }
|
||||
|
||||
block.should raise_error(SocketError)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Загрузка…
Ссылка в новой задаче