diff options
author | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2023-09-30 17:41:14 +0900 |
---|---|---|
committer | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2023-09-30 19:03:04 +0900 |
commit | 94e79e4c2da8d69f45e67228a051bb1c09a367ec (patch) | |
tree | f42d486ff35e79c201f7d0dec4c372310a8e3dce | |
parent | 1fbccd02eeb37cf3ecd408b0ec2a71bdf78aa00f (diff) | |
download | ruby-94e79e4c2da8d69f45e67228a051bb1c09a367ec.tar.gz |
Fix failures when all network interfaces are down
-rw-r--r-- | spec/ruby/library/socket/tcpsocket/shared/new.rb | 6 | ||||
-rw-r--r-- | test/socket/test_tcp.rb | 2 |
2 files changed, 7 insertions, 1 deletions
diff --git a/spec/ruby/library/socket/tcpsocket/shared/new.rb b/spec/ruby/library/socket/tcpsocket/shared/new.rb index d60260a01b..90f8d7e6a2 100644 --- a/spec/ruby/library/socket/tcpsocket/shared/new.rb +++ b/spec/ruby/library/socket/tcpsocket/shared/new.rb @@ -19,6 +19,9 @@ describe :tcpsocket_new, shared: true do -> { TCPSocket.send(@method, "192.0.2.1", 80, connect_timeout: 0) }.should raise_error(Errno::ETIMEDOUT) + rescue Errno::ENETUNREACH + # In the case all network interfaces down. + # raise_error cannot deal with multiple expected exceptions end end @@ -27,6 +30,9 @@ describe :tcpsocket_new, shared: true do -> { TCPSocket.send(@method, "192.0.2.1", 80, connect_timeout: 0) }.should raise_error(IO::TimeoutError) + rescue Errno::ENETUNREACH + # In the case all network interfaces down. + # raise_error cannot deal with multiple expected exceptions end end diff --git a/test/socket/test_tcp.rb b/test/socket/test_tcp.rb index 83ebea1b7a..7f9dc53cae 100644 --- a/test/socket/test_tcp.rb +++ b/test/socket/test_tcp.rb @@ -70,7 +70,7 @@ class TestSocket_TCPSocket < Test::Unit::TestCase end def test_initialize_connect_timeout - assert_raise(IO::TimeoutError) do + assert_raise(IO::TimeoutError, Errno::ENETUNREACH) do TCPSocket.new("192.0.2.1", 80, connect_timeout: 0) end end |