diff options
author | eregon <eregon@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-08-17 23:51:47 +0000 |
---|---|---|
committer | eregon <eregon@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-08-17 23:51:47 +0000 |
commit | a2d2a55d0cb3442705244050d6eac7a5863fcde8 (patch) | |
tree | 077a480503379f75bbf5127afd942954875bbf82 /spec | |
parent | fb01ef38a15d1b3b8cc52d58d41778a0c8d34624 (diff) | |
download | ruby-a2d2a55d0cb3442705244050d6eac7a5863fcde8.tar.gz |
Guard spec failing on Solaris
* https://rubyci.org/logs/rubyci.s3.amazonaws.com/unstable11x/ruby-trunk/log/20180817T182406Z.fail.html.gz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64422 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'spec')
-rw-r--r-- | spec/ruby/library/socket/socket/connect_nonblock_spec.rb | 54 |
1 files changed, 28 insertions, 26 deletions
diff --git a/spec/ruby/library/socket/socket/connect_nonblock_spec.rb b/spec/ruby/library/socket/socket/connect_nonblock_spec.rb index f3a4e496c8..037dc39131 100644 --- a/spec/ruby/library/socket/socket/connect_nonblock_spec.rb +++ b/spec/ruby/library/socket/socket/connect_nonblock_spec.rb @@ -16,37 +16,39 @@ describe "Socket#connect_nonblock" do @thread.join if @thread end - it "connects the socket to the remote side" do - port = nil - accept = false - @thread = Thread.new do - server = TCPServer.new(@hostname, 0) - port = server.addr[1] - Thread.pass until accept - conn = server.accept - conn << "hello!" - conn.close - server.close - end + platform_is_not :solaris do + it "connects the socket to the remote side" do + port = nil + accept = false + @thread = Thread.new do + server = TCPServer.new(@hostname, 0) + port = server.addr[1] + Thread.pass until accept + conn = server.accept + conn << "hello!" + conn.close + server.close + end - Thread.pass until port + Thread.pass until port - addr = Socket.sockaddr_in(port, @hostname) - begin - @socket.connect_nonblock(addr) - rescue Errno::EINPROGRESS - end + addr = Socket.sockaddr_in(port, @hostname) + begin + @socket.connect_nonblock(addr) + rescue Errno::EINPROGRESS + end - accept = true - IO.select nil, [@socket] + accept = true + IO.select nil, [@socket] - begin - @socket.connect_nonblock(addr) - rescue Errno::EISCONN - # Not all OS's use this errno, so we trap and ignore it - end + begin + @socket.connect_nonblock(addr) + rescue Errno::EISCONN + # Not all OS's use this errno, so we trap and ignore it + end - @socket.read(6).should == "hello!" + @socket.read(6).should == "hello!" + end end platform_is_not :freebsd, :solaris, :aix do |