mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
Update to ruby/spec@875a09e
This commit is contained in:
parent
a06301b103
commit
5c276e1cc9
1247 changed files with 5316 additions and 5028 deletions
|
@ -12,13 +12,13 @@ describe "Socket::BasicSocket#close_read" do
|
|||
|
||||
it "closes the reading end of the socket" do
|
||||
@server.close_read
|
||||
lambda { @server.read }.should raise_error(IOError)
|
||||
-> { @server.read }.should raise_error(IOError)
|
||||
end
|
||||
|
||||
it 'does not raise when called on a socket already closed for reading' do
|
||||
@server.close_read
|
||||
@server.close_read
|
||||
lambda { @server.read }.should raise_error(IOError)
|
||||
-> { @server.read }.should raise_error(IOError)
|
||||
end
|
||||
|
||||
it 'does not fully close the socket' do
|
||||
|
@ -34,7 +34,7 @@ describe "Socket::BasicSocket#close_read" do
|
|||
|
||||
it 'raises IOError when called on a fully closed socket' do
|
||||
@server.close
|
||||
lambda { @server.close_read }.should raise_error(IOError)
|
||||
-> { @server.close_read }.should raise_error(IOError)
|
||||
end
|
||||
|
||||
it "returns nil" do
|
||||
|
|
|
@ -12,13 +12,13 @@ describe "Socket::BasicSocket#close_write" do
|
|||
|
||||
it "closes the writing end of the socket" do
|
||||
@server.close_write
|
||||
lambda { @server.write("foo") }.should raise_error(IOError)
|
||||
-> { @server.write("foo") }.should raise_error(IOError)
|
||||
end
|
||||
|
||||
it 'does not raise when called on a socket already closed for writing' do
|
||||
@server.close_write
|
||||
@server.close_write
|
||||
lambda { @server.write("foo") }.should raise_error(IOError)
|
||||
-> { @server.write("foo") }.should raise_error(IOError)
|
||||
end
|
||||
|
||||
it 'does not fully close the socket' do
|
||||
|
@ -39,7 +39,7 @@ describe "Socket::BasicSocket#close_write" do
|
|||
|
||||
it 'raises IOError when called on a fully closed socket' do
|
||||
@server.close
|
||||
lambda { @server.close_write }.should raise_error(IOError)
|
||||
-> { @server.close_write }.should raise_error(IOError)
|
||||
end
|
||||
|
||||
it "returns nil" do
|
||||
|
|
|
@ -10,7 +10,7 @@ describe 'Socket#connect_address' do
|
|||
it 'raises SocketError' do
|
||||
@sock = Socket.new(:INET, :STREAM)
|
||||
|
||||
lambda { @sock.connect_address }.should raise_error(SocketError)
|
||||
-> { @sock.connect_address }.should raise_error(SocketError)
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -110,7 +110,7 @@ describe 'Socket#connect_address' do
|
|||
end
|
||||
|
||||
it 'raises SocketError' do
|
||||
lambda { @client.connect_address }.should raise_error(SocketError)
|
||||
-> { @client.connect_address }.should raise_error(SocketError)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -30,7 +30,7 @@ describe 'BasicSocket#getpeereid' do
|
|||
|
||||
it 'raises NoMethodError' do
|
||||
@sock = TCPServer.new('127.0.0.1', 0)
|
||||
lambda { @sock.getpeereid }.should raise_error(NoMethodError)
|
||||
-> { @sock.getpeereid }.should raise_error(NoMethodError)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -20,6 +20,6 @@ describe "Socket::BasicSocket#getpeername" do
|
|||
end
|
||||
|
||||
it 'raises Errno::ENOTCONN for a disconnected socket' do
|
||||
lambda { @server.getpeername }.should raise_error(Errno::ENOTCONN)
|
||||
-> { @server.getpeername }.should raise_error(Errno::ENOTCONN)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -41,7 +41,7 @@ describe "BasicSocket#getsockopt" do
|
|||
end
|
||||
|
||||
it "raises a SystemCallError with an invalid socket option" do
|
||||
lambda { @sock.getsockopt Socket::SOL_SOCKET, -1 }.should raise_error(Errno::ENOPROTOOPT)
|
||||
-> { @sock.getsockopt Socket::SOL_SOCKET, -1 }.should raise_error(Errno::ENOPROTOOPT)
|
||||
end
|
||||
|
||||
it 'returns a Socket::Option using a constant' do
|
||||
|
@ -69,7 +69,7 @@ describe "BasicSocket#getsockopt" do
|
|||
end
|
||||
|
||||
it 'raises Errno::ENOPROTOOPT when requesting an invalid option' do
|
||||
lambda { @sock.getsockopt(Socket::SOL_SOCKET, -1) }.should raise_error(Errno::ENOPROTOOPT)
|
||||
-> { @sock.getsockopt(Socket::SOL_SOCKET, -1) }.should raise_error(Errno::ENOPROTOOPT)
|
||||
end
|
||||
|
||||
describe 'using Symbols as arguments' do
|
||||
|
|
|
@ -16,14 +16,14 @@ describe "Socket::BasicSocket#recv_nonblock" do
|
|||
platform_is_not :windows do
|
||||
describe 'using an unbound socket' do
|
||||
it 'raises an exception extending IO::WaitReadable' do
|
||||
lambda { @s1.recv_nonblock(1) }.should raise_error(IO::WaitReadable)
|
||||
-> { @s1.recv_nonblock(1) }.should raise_error(IO::WaitReadable)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
it "raises an exception extending IO::WaitReadable if there's no data available" do
|
||||
@s1.bind(Socket.pack_sockaddr_in(0, ip_address))
|
||||
lambda {
|
||||
-> {
|
||||
@s1.recv_nonblock(5)
|
||||
}.should raise_error(IO::WaitReadable) { |e|
|
||||
platform_is_not :windows do
|
||||
|
@ -62,7 +62,7 @@ describe "Socket::BasicSocket#recv_nonblock" do
|
|||
@s2.send("a", 0, @s1.getsockname)
|
||||
IO.select([@s1], nil, nil, 2)
|
||||
@s1.recv_nonblock(1).should == "a"
|
||||
lambda {
|
||||
-> {
|
||||
@s1.recv_nonblock(5)
|
||||
}.should raise_error(IO::WaitReadable)
|
||||
end
|
||||
|
|
|
@ -107,7 +107,7 @@ describe 'BasicSocket#recv' do
|
|||
|
||||
describe 'using an unbound socket' do
|
||||
it 'blocks the caller' do
|
||||
lambda { @server.recv(4) }.should block_caller
|
||||
-> { @server.recv(4) }.should block_caller
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -118,7 +118,7 @@ describe 'BasicSocket#recv' do
|
|||
|
||||
describe 'without any data available' do
|
||||
it 'blocks the caller' do
|
||||
lambda { @server.recv(4) }.should block_caller
|
||||
-> { @server.recv(4) }.should block_caller
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -144,7 +144,7 @@ describe 'BasicSocket#recv' do
|
|||
|
||||
@server.recv(2).should == 'he'
|
||||
|
||||
lambda { @server.recv(4) }.should block_caller
|
||||
-> { @server.recv(4) }.should block_caller
|
||||
end
|
||||
|
||||
it 'takes a peek at the data when using the MSG_PEEK flag' do
|
||||
|
|
|
@ -17,7 +17,7 @@ describe 'BasicSocket#recvmsg_nonblock' do
|
|||
platform_is_not :windows do
|
||||
describe 'using an unbound socket' do
|
||||
it 'raises an exception extending IO::WaitReadable' do
|
||||
lambda { @server.recvmsg_nonblock }.should raise_error(IO::WaitReadable)
|
||||
-> { @server.recvmsg_nonblock }.should raise_error(IO::WaitReadable)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -29,7 +29,7 @@ describe 'BasicSocket#recvmsg_nonblock' do
|
|||
|
||||
describe 'without any data available' do
|
||||
it 'raises an exception extending IO::WaitReadable' do
|
||||
lambda { @server.recvmsg_nonblock }.should raise_error(IO::WaitReadable)
|
||||
-> { @server.recvmsg_nonblock }.should raise_error(IO::WaitReadable)
|
||||
end
|
||||
|
||||
it 'returns :wait_readable with exception: false' do
|
||||
|
@ -132,7 +132,7 @@ describe 'BasicSocket#recvmsg_nonblock' do
|
|||
|
||||
describe 'without any data available' do
|
||||
it 'raises IO::WaitReadable' do
|
||||
lambda {
|
||||
-> {
|
||||
socket, _ = @server.accept
|
||||
begin
|
||||
socket.recvmsg_nonblock
|
||||
|
@ -182,7 +182,7 @@ describe 'BasicSocket#recvmsg_nonblock' do
|
|||
end
|
||||
|
||||
it 'raises when receiving the ip_address message' do
|
||||
lambda { @addr.ip_address }.should raise_error(SocketError)
|
||||
-> { @addr.ip_address }.should raise_error(SocketError)
|
||||
end
|
||||
|
||||
it 'uses the correct address family' do
|
||||
|
@ -198,7 +198,7 @@ describe 'BasicSocket#recvmsg_nonblock' do
|
|||
end
|
||||
|
||||
it 'raises when receiving the ip_port message' do
|
||||
lambda { @addr.ip_port }.should raise_error(SocketError)
|
||||
-> { @addr.ip_port }.should raise_error(SocketError)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -17,7 +17,7 @@ describe 'BasicSocket#recvmsg' do
|
|||
platform_is_not :windows do
|
||||
describe 'using an unbound socket' do
|
||||
it 'blocks the caller' do
|
||||
lambda { @server.recvmsg }.should block_caller
|
||||
-> { @server.recvmsg }.should block_caller
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -29,7 +29,7 @@ describe 'BasicSocket#recvmsg' do
|
|||
|
||||
describe 'without any data available' do
|
||||
it 'blocks the caller' do
|
||||
lambda { @server.recvmsg }.should block_caller
|
||||
-> { @server.recvmsg }.should block_caller
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -126,7 +126,7 @@ describe 'BasicSocket#recvmsg' do
|
|||
it 'blocks the caller' do
|
||||
socket, _ = @server.accept
|
||||
begin
|
||||
lambda { socket.recvmsg }.should block_caller
|
||||
-> { socket.recvmsg }.should block_caller
|
||||
ensure
|
||||
socket.close
|
||||
end
|
||||
|
@ -170,7 +170,7 @@ describe 'BasicSocket#recvmsg' do
|
|||
end
|
||||
|
||||
it 'raises when receiving the ip_address message' do
|
||||
lambda { @addr.ip_address }.should raise_error(SocketError)
|
||||
-> { @addr.ip_address }.should raise_error(SocketError)
|
||||
end
|
||||
|
||||
it 'uses the correct address family' do
|
||||
|
@ -186,7 +186,7 @@ describe 'BasicSocket#recvmsg' do
|
|||
end
|
||||
|
||||
it 'raises when receiving the ip_port message' do
|
||||
lambda { @addr.ip_port }.should raise_error(SocketError)
|
||||
-> { @addr.ip_port }.should raise_error(SocketError)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -101,7 +101,7 @@ describe 'BasicSocket#send' do
|
|||
|
||||
describe 'without a destination address' do
|
||||
it "raises #{SocketSpecs.dest_addr_req_error}" do
|
||||
lambda { @client.send('hello', 0) }.should raise_error(SocketSpecs.dest_addr_req_error)
|
||||
-> { @client.send('hello', 0) }.should raise_error(SocketSpecs.dest_addr_req_error)
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -113,7 +113,7 @@ describe 'BasicSocket#send' do
|
|||
it 'does not persist the connection after writing to the socket' do
|
||||
@client.send('hello', 0, @server.getsockname)
|
||||
|
||||
lambda { @client.send('hello', 0) }.should raise_error(SocketSpecs.dest_addr_req_error)
|
||||
-> { @client.send('hello', 0) }.should raise_error(SocketSpecs.dest_addr_req_error)
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -161,7 +161,7 @@ describe 'BasicSocket#send' do
|
|||
it 'sends the message to the given address instead' do
|
||||
@client.send('hello', 0, @alt_server.getsockname).should == 5
|
||||
|
||||
lambda { @server.recv(5) }.should block_caller
|
||||
-> { @server.recv(5) }.should block_caller
|
||||
|
||||
@alt_server.recv(5).should == 'hello'
|
||||
end
|
||||
|
|
|
@ -18,7 +18,7 @@ describe 'BasicSocket#sendmsg_nonblock' do
|
|||
|
||||
describe 'without a destination address' do
|
||||
it "raises #{SocketSpecs.dest_addr_req_error}" do
|
||||
lambda { @client.sendmsg_nonblock('hello') }.should raise_error(SocketSpecs.dest_addr_req_error)
|
||||
-> { @client.sendmsg_nonblock('hello') }.should raise_error(SocketSpecs.dest_addr_req_error)
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -70,7 +70,7 @@ describe 'BasicSocket#sendmsg_nonblock' do
|
|||
|
||||
it 'sends the message to the given address instead' do
|
||||
@client.sendmsg_nonblock('hello', 0, @alt_server.getsockname).should == 5
|
||||
lambda { @server.recv(5) }.should block_caller
|
||||
-> { @server.recv(5) }.should block_caller
|
||||
@alt_server.recv(5).should == 'hello'
|
||||
end
|
||||
end
|
||||
|
@ -94,7 +94,7 @@ describe 'BasicSocket#sendmsg_nonblock' do
|
|||
end
|
||||
|
||||
it 'raises IO::WaitWritable when the underlying buffer is full' do
|
||||
lambda {
|
||||
-> {
|
||||
10.times { @client.sendmsg_nonblock('hello' * 1_000_000) }
|
||||
}.should raise_error(IO::WaitWritable)
|
||||
end
|
||||
|
|
|
@ -19,7 +19,7 @@ describe 'BasicSocket#sendmsg' do
|
|||
platform_is_not :windows do
|
||||
describe 'without a destination address' do
|
||||
it "raises #{SocketSpecs.dest_addr_req_error}" do
|
||||
lambda { @client.sendmsg('hello') }.should raise_error(SocketSpecs.dest_addr_req_error)
|
||||
-> { @client.sendmsg('hello') }.should raise_error(SocketSpecs.dest_addr_req_error)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -74,7 +74,7 @@ describe 'BasicSocket#sendmsg' do
|
|||
it 'sends the message to the given address instead' do
|
||||
@client.sendmsg('hello', 0, @alt_server.getsockname).should == 5
|
||||
|
||||
lambda { @server.recv(5) }.should block_caller
|
||||
-> { @server.recv(5) }.should block_caller
|
||||
|
||||
@alt_server.recv(5).should == 'hello'
|
||||
end
|
||||
|
@ -101,7 +101,7 @@ describe 'BasicSocket#sendmsg' do
|
|||
it 'blocks when the underlying buffer is full' do
|
||||
# Buffer sizes may differ per platform, so sadly this is the only
|
||||
# reliable way of testing blocking behaviour.
|
||||
lambda do
|
||||
-> do
|
||||
10.times { @client.sendmsg('hello' * 1_000_000) }
|
||||
end.should block_caller
|
||||
end
|
||||
|
|
|
@ -38,7 +38,7 @@ describe "BasicSocket#setsockopt" do
|
|||
|
||||
platform_is_not :windows do
|
||||
it "raises EINVAL if passed wrong linger value" do
|
||||
lambda do
|
||||
-> do
|
||||
@sock.setsockopt(Socket::SOL_SOCKET, Socket::SO_LINGER, 0)
|
||||
end.should raise_error(Errno::EINVAL)
|
||||
end
|
||||
|
@ -70,7 +70,7 @@ describe "BasicSocket#setsockopt" do
|
|||
n.should_not == [0].pack("i")
|
||||
|
||||
platform_is_not :windows do
|
||||
lambda {
|
||||
-> {
|
||||
@sock.setsockopt(Socket::SOL_SOCKET, Socket::SO_OOBINLINE, "")
|
||||
}.should raise_error(SystemCallError)
|
||||
end
|
||||
|
@ -80,7 +80,7 @@ describe "BasicSocket#setsockopt" do
|
|||
n.should_not == [0].pack("i")
|
||||
|
||||
platform_is_not :windows do
|
||||
lambda {
|
||||
-> {
|
||||
@sock.setsockopt(Socket::SOL_SOCKET, Socket::SO_OOBINLINE, "0")
|
||||
}.should raise_error(SystemCallError)
|
||||
end
|
||||
|
@ -90,13 +90,13 @@ describe "BasicSocket#setsockopt" do
|
|||
n.should == [0].pack("i")
|
||||
|
||||
platform_is_not :windows do
|
||||
lambda {
|
||||
-> {
|
||||
@sock.setsockopt(Socket::SOL_SOCKET, Socket::SO_OOBINLINE, "1")
|
||||
}.should raise_error(SystemCallError)
|
||||
end
|
||||
|
||||
platform_is_not :windows do
|
||||
lambda {
|
||||
-> {
|
||||
@sock.setsockopt(Socket::SOL_SOCKET, Socket::SO_OOBINLINE, "\x00\x00\x00")
|
||||
}.should raise_error(SystemCallError)
|
||||
end
|
||||
|
@ -125,7 +125,7 @@ describe "BasicSocket#setsockopt" do
|
|||
n = @sock.getsockopt(Socket::SOL_SOCKET, Socket::SO_SNDBUF).to_s
|
||||
n.unpack('i')[0].should >= 1
|
||||
|
||||
lambda {
|
||||
-> {
|
||||
@sock.setsockopt(Socket::SOL_SOCKET, Socket::SO_SNDBUF, nil).should == 0
|
||||
}.should raise_error(TypeError)
|
||||
|
||||
|
@ -137,23 +137,23 @@ describe "BasicSocket#setsockopt" do
|
|||
n = @sock.getsockopt(Socket::SOL_SOCKET, Socket::SO_SNDBUF).to_s
|
||||
n.unpack('i')[0].should >= 2
|
||||
|
||||
lambda {
|
||||
-> {
|
||||
@sock.setsockopt(Socket::SOL_SOCKET, Socket::SO_SNDBUF, "")
|
||||
}.should raise_error(SystemCallError)
|
||||
|
||||
lambda {
|
||||
-> {
|
||||
@sock.setsockopt(Socket::SOL_SOCKET, Socket::SO_SNDBUF, "bla")
|
||||
}.should raise_error(SystemCallError)
|
||||
|
||||
lambda {
|
||||
-> {
|
||||
@sock.setsockopt(Socket::SOL_SOCKET, Socket::SO_SNDBUF, "0")
|
||||
}.should raise_error(SystemCallError)
|
||||
|
||||
lambda {
|
||||
-> {
|
||||
@sock.setsockopt(Socket::SOL_SOCKET, Socket::SO_SNDBUF, "1")
|
||||
}.should raise_error(SystemCallError)
|
||||
|
||||
lambda {
|
||||
-> {
|
||||
@sock.setsockopt(Socket::SOL_SOCKET, Socket::SO_SNDBUF, "\x00\x00\x00")
|
||||
}.should raise_error(SystemCallError)
|
||||
|
||||
|
@ -224,7 +224,7 @@ describe 'BasicSocket#setsockopt' do
|
|||
|
||||
describe 'using separate arguments with Symbols' do
|
||||
it 'raises TypeError when the first argument is nil' do
|
||||
lambda { @socket.setsockopt(nil, :REUSEADDR, true) }.should raise_error(TypeError)
|
||||
-> { @socket.setsockopt(nil, :REUSEADDR, true) }.should raise_error(TypeError)
|
||||
end
|
||||
|
||||
it 'sets a boolean option' do
|
||||
|
@ -251,7 +251,7 @@ describe 'BasicSocket#setsockopt' do
|
|||
|
||||
platform_is_not :windows do
|
||||
it 'raises Errno::EINVAL when setting an invalid option value' do
|
||||
lambda { @socket.setsockopt(:SOCKET, :OOBINLINE, 'bla') }.should raise_error(Errno::EINVAL)
|
||||
-> { @socket.setsockopt(:SOCKET, :OOBINLINE, 'bla') }.should raise_error(Errno::EINVAL)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -305,12 +305,12 @@ describe 'BasicSocket#setsockopt' do
|
|||
|
||||
it 'raises ArgumentError when passing 2 arguments' do
|
||||
option = Socket::Option.bool(:INET, :SOCKET, :REUSEADDR, true)
|
||||
lambda { @socket.setsockopt(option, :REUSEADDR) }.should raise_error(ArgumentError)
|
||||
-> { @socket.setsockopt(option, :REUSEADDR) }.should raise_error(ArgumentError)
|
||||
end
|
||||
|
||||
it 'raises TypeError when passing 3 arguments' do
|
||||
option = Socket::Option.bool(:INET, :SOCKET, :REUSEADDR, true)
|
||||
lambda { @socket.setsockopt(option, :REUSEADDR, true) }.should raise_error(TypeError)
|
||||
-> { @socket.setsockopt(option, :REUSEADDR, true) }.should raise_error(TypeError)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -29,7 +29,7 @@ platform_is_not :windows do # hangs
|
|||
it 'shuts down a socket for writing' do
|
||||
@client.shutdown(Socket::SHUT_WR)
|
||||
|
||||
lambda { @client.write('hello') }.should raise_error(Errno::EPIPE)
|
||||
-> { @client.write('hello') }.should raise_error(Errno::EPIPE)
|
||||
end
|
||||
|
||||
it 'shuts down a socket for reading and writing' do
|
||||
|
@ -37,11 +37,11 @@ platform_is_not :windows do # hangs
|
|||
|
||||
@client.recv(1).should be_empty
|
||||
|
||||
lambda { @client.write('hello') }.should raise_error(Errno::EPIPE)
|
||||
-> { @client.write('hello') }.should raise_error(Errno::EPIPE)
|
||||
end
|
||||
|
||||
it 'raises ArgumentError when using an invalid option' do
|
||||
lambda { @server.shutdown(666) }.should raise_error(ArgumentError)
|
||||
-> { @server.shutdown(666) }.should raise_error(ArgumentError)
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -61,13 +61,13 @@ platform_is_not :windows do # hangs
|
|||
it 'shuts down a socket for writing using :WR' do
|
||||
@client.shutdown(:WR)
|
||||
|
||||
lambda { @client.write('hello') }.should raise_error(Errno::EPIPE)
|
||||
-> { @client.write('hello') }.should raise_error(Errno::EPIPE)
|
||||
end
|
||||
|
||||
it 'shuts down a socket for writing using :SHUT_WR' do
|
||||
@client.shutdown(:SHUT_WR)
|
||||
|
||||
lambda { @client.write('hello') }.should raise_error(Errno::EPIPE)
|
||||
-> { @client.write('hello') }.should raise_error(Errno::EPIPE)
|
||||
end
|
||||
|
||||
it 'shuts down a socket for reading and writing' do
|
||||
|
@ -75,11 +75,11 @@ platform_is_not :windows do # hangs
|
|||
|
||||
@client.recv(1).should be_empty
|
||||
|
||||
lambda { @client.write('hello') }.should raise_error(Errno::EPIPE)
|
||||
-> { @client.write('hello') }.should raise_error(Errno::EPIPE)
|
||||
end
|
||||
|
||||
it 'raises ArgumentError when using an invalid option' do
|
||||
lambda { @server.shutdown(:Nope) }.should raise_error(SocketError)
|
||||
-> { @server.shutdown(:Nope) }.should raise_error(SocketError)
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -99,17 +99,17 @@ platform_is_not :windows do # hangs
|
|||
it 'shuts down a socket for writing using "WR"' do
|
||||
@client.shutdown('WR')
|
||||
|
||||
lambda { @client.write('hello') }.should raise_error(Errno::EPIPE)
|
||||
-> { @client.write('hello') }.should raise_error(Errno::EPIPE)
|
||||
end
|
||||
|
||||
it 'shuts down a socket for writing using "SHUT_WR"' do
|
||||
@client.shutdown('SHUT_WR')
|
||||
|
||||
lambda { @client.write('hello') }.should raise_error(Errno::EPIPE)
|
||||
-> { @client.write('hello') }.should raise_error(Errno::EPIPE)
|
||||
end
|
||||
|
||||
it 'raises ArgumentError when using an invalid option' do
|
||||
lambda { @server.shutdown('Nope') }.should raise_error(SocketError)
|
||||
-> { @server.shutdown('Nope') }.should raise_error(SocketError)
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -141,13 +141,13 @@ platform_is_not :windows do # hangs
|
|||
|
||||
@client.recv(1).should be_empty
|
||||
|
||||
lambda { @client.write('hello') }.should raise_error(Errno::EPIPE)
|
||||
-> { @client.write('hello') }.should raise_error(Errno::EPIPE)
|
||||
end
|
||||
end
|
||||
|
||||
describe 'using an object that does not respond to #to_str' do
|
||||
it 'raises TypeError' do
|
||||
lambda { @server.shutdown(mock(:dummy)) }.should raise_error(TypeError)
|
||||
-> { @server.shutdown(mock(:dummy)) }.should raise_error(TypeError)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue