summaryrefslogtreecommitdiff
path: root/test/socket
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2021-05-20 20:15:43 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2021-05-21 18:26:07 +0900
commite9974a466ac7edcb8035f5f7bc65c4c6731e2ee2 (patch)
tree5761b90323f43709f3d87c830c46c559be46793b /test/socket
parent817764bd82513e2a0a672f5958f65854ea172c08 (diff)
downloadruby-e9974a466ac7edcb8035f5f7bc65c4c6731e2ee2.tar.gz
Get rid of sporadic WSAEACCES on Windows [ruby-dev:42661]
Diffstat (limited to 'test/socket')
-rw-r--r--test/socket/test_addrinfo.rb7
-rw-r--r--test/socket/test_socket.rb5
2 files changed, 10 insertions, 2 deletions
diff --git a/test/socket/test_addrinfo.rb b/test/socket/test_addrinfo.rb
index 1421c153a0..e068c6c216 100644
--- a/test/socket/test_addrinfo.rb
+++ b/test/socket/test_addrinfo.rb
@@ -363,7 +363,12 @@ class TestSocketAddrinfo < Test::Unit::TestCase
def random_port
# IANA suggests dynamic port for 49152 to 65535
# http://www.iana.org/assignments/port-numbers
- 49152 + rand(65535-49152+1)
+ case RUBY_PLATFORM
+ when /mingw|mswin/
+ rand(50000..65535)
+ else
+ rand(49152..65535)
+ end
end
def errors_addrinuse
diff --git a/test/socket/test_socket.rb b/test/socket/test_socket.rb
index 77ce093101..16c359eca1 100644
--- a/test/socket/test_socket.rb
+++ b/test/socket/test_socket.rb
@@ -172,7 +172,10 @@ class TestSocket < Test::Unit::TestCase
end
def errors_addrinuse
- [Errno::EADDRINUSE]
+ errs = [Errno::EADDRINUSE]
+ # MinGW fails with "Errno::EACCES: Permission denied - bind(2) for 0.0.0.0:49721"
+ errs << Errno::EACCES if /mingw/ =~ RUBY_PLATFORM
+ errs
end
def test_tcp_server_sockets