summaryrefslogtreecommitdiff
path: root/spec/ruby/library/socket/basicsocket
diff options
context:
space:
mode:
Diffstat (limited to 'spec/ruby/library/socket/basicsocket')
-rw-r--r--spec/ruby/library/socket/basicsocket/recvmsg_nonblock_spec.rb40
-rw-r--r--spec/ruby/library/socket/basicsocket/send_spec.rb38
2 files changed, 40 insertions, 38 deletions
diff --git a/spec/ruby/library/socket/basicsocket/recvmsg_nonblock_spec.rb b/spec/ruby/library/socket/basicsocket/recvmsg_nonblock_spec.rb
index f6f2dac3fa..b5fdd7c93b 100644
--- a/spec/ruby/library/socket/basicsocket/recvmsg_nonblock_spec.rb
+++ b/spec/ruby/library/socket/basicsocket/recvmsg_nonblock_spec.rb
@@ -236,31 +236,33 @@ describe 'BasicSocket#recvmsg_nonblock' do
end
ruby_version_is ""..."3.3" do
- it "returns an empty String as received data on a closed stream socket" do
- ready = false
+ platform_is_not :windows do # #recvmsg_nonblock() raises 'Errno::EINVAL: Invalid argument - recvmsg(2)'
+ it "returns an empty String as received data on a closed stream socket" do
+ ready = false
- t = Thread.new do
- client = @server.accept
+ t = Thread.new do
+ client = @server.accept
- Thread.pass while !ready
- begin
- client.recvmsg_nonblock(10)
- rescue IO::EAGAINWaitReadable
- retry
+ Thread.pass while !ready
+ begin
+ client.recvmsg_nonblock(10)
+ rescue IO::EAGAINWaitReadable
+ retry
+ end
+ ensure
+ client.close if client
end
- ensure
- client.close if client
- end
- Thread.pass while t.status and t.status != "sleep"
- t.status.should_not be_nil
+ Thread.pass while t.status and t.status != "sleep"
+ t.status.should_not be_nil
- socket = TCPSocket.new('127.0.0.1', @port)
- socket.close
- ready = true
+ socket = TCPSocket.new('127.0.0.1', @port)
+ socket.close
+ ready = true
- t.value.should.is_a? Array
- t.value[0].should == ""
+ t.value.should.is_a? Array
+ t.value[0].should == ""
+ end
end
end
diff --git a/spec/ruby/library/socket/basicsocket/send_spec.rb b/spec/ruby/library/socket/basicsocket/send_spec.rb
index 1c028480e3..36da125279 100644
--- a/spec/ruby/library/socket/basicsocket/send_spec.rb
+++ b/spec/ruby/library/socket/basicsocket/send_spec.rb
@@ -62,25 +62,25 @@ describe "BasicSocket#send" do
end
it "accepts a sockaddr as recipient address" do
- data = +""
- t = Thread.new do
- client = @server.accept
- loop do
- got = client.recv(5)
- break if got.nil? || got.empty?
- data << got
- end
- client.close
- end
- Thread.pass while t.status and t.status != "sleep"
- t.status.should_not be_nil
-
- sockaddr = Socket.pack_sockaddr_in(@port, "127.0.0.1")
- @socket.send('hello', 0, sockaddr).should == 5
- @socket.shutdown # indicate, that we are done sending
-
- t.join
- data.should == 'hello'
+ data = +""
+ t = Thread.new do
+ client = @server.accept
+ loop do
+ got = client.recv(5)
+ break if got.nil? || got.empty?
+ data << got
+ end
+ client.close
+ end
+ Thread.pass while t.status and t.status != "sleep"
+ t.status.should_not be_nil
+
+ sockaddr = Socket.pack_sockaddr_in(@port, "127.0.0.1")
+ @socket.send('hello', 0, sockaddr).should == 5
+ @socket.shutdown # indicate, that we are done sending
+
+ t.join
+ data.should == 'hello'
end
end