From d80e44deec77678fe2d72f94c17b2409b3e794d5 Mon Sep 17 00:00:00 2001 From: Benoit Daloze Date: Thu, 27 Jun 2019 21:02:36 +0200 Subject: Update to ruby/spec@8d74d49 --- spec/ruby/library/socket/basicsocket/recv_nonblock_spec.rb | 5 +++++ spec/ruby/library/socket/basicsocket/recvmsg_nonblock_spec.rb | 4 ++++ spec/ruby/library/socket/basicsocket/sendmsg_nonblock_spec.rb | 9 +++++++++ 3 files changed, 18 insertions(+) (limited to 'spec/ruby/library/socket/basicsocket') diff --git a/spec/ruby/library/socket/basicsocket/recv_nonblock_spec.rb b/spec/ruby/library/socket/basicsocket/recv_nonblock_spec.rb index 1b6027d26c..26683b3d23 100644 --- a/spec/ruby/library/socket/basicsocket/recv_nonblock_spec.rb +++ b/spec/ruby/library/socket/basicsocket/recv_nonblock_spec.rb @@ -35,6 +35,11 @@ describe "Socket::BasicSocket#recv_nonblock" do } end + it "returns :wait_readable with exception: false" do + @s1.bind(Socket.pack_sockaddr_in(0, ip_address)) + @s1.recv_nonblock(5, exception: false).should == :wait_readable + end + it "receives data after it's ready" do @s1.bind(Socket.pack_sockaddr_in(0, ip_address)) @s2.send("aaa", 0, @s1.getsockname) diff --git a/spec/ruby/library/socket/basicsocket/recvmsg_nonblock_spec.rb b/spec/ruby/library/socket/basicsocket/recvmsg_nonblock_spec.rb index 8f6b75029c..c440bac8bf 100644 --- a/spec/ruby/library/socket/basicsocket/recvmsg_nonblock_spec.rb +++ b/spec/ruby/library/socket/basicsocket/recvmsg_nonblock_spec.rb @@ -31,6 +31,10 @@ describe 'BasicSocket#recvmsg_nonblock' do it 'raises an exception extending IO::WaitReadable' do lambda { @server.recvmsg_nonblock }.should raise_error(IO::WaitReadable) end + + it 'returns :wait_readable with exception: false' do + @server.recvmsg_nonblock(exception: false).should == :wait_readable + end end describe 'with data available' do diff --git a/spec/ruby/library/socket/basicsocket/sendmsg_nonblock_spec.rb b/spec/ruby/library/socket/basicsocket/sendmsg_nonblock_spec.rb index de5e2aa749..000971f6af 100644 --- a/spec/ruby/library/socket/basicsocket/sendmsg_nonblock_spec.rb +++ b/spec/ruby/library/socket/basicsocket/sendmsg_nonblock_spec.rb @@ -98,6 +98,15 @@ describe 'BasicSocket#sendmsg_nonblock' do 10.times { @client.sendmsg_nonblock('hello' * 1_000_000) } }.should raise_error(IO::WaitWritable) end + + it 'returns :wait_writable when the underlying buffer is full with exception: false' do + ret = nil + 10.times { + ret = @client.sendmsg_nonblock('hello' * 1_000_000, exception: false) + break unless ret.is_a?(Integer) + } + ret.should == :wait_writable + end end end end -- cgit v1.2.3