[ruby-core:94597] [Ruby master Bug#15067] library/socket/socket/getnameinfo_spec.rb always errors with multiple IP addresses hostname
From:
merch-redmine@...
Date:
2019-08-27 04:19:47 UTC
List:
ruby-core #94597
Issue #15067 has been updated by jeremyevans0 (Jeremy Evans).
Status changed from Open to Closed
Spec was removed in commit:c4cc4725ec08f26b9f46b99e38b0eba18f733ddc.
----------------------------------------
Bug #15067: library/socket/socket/getnameinfo_spec.rb always errors with multiple IP addresses hostname
https://bugs.ruby-lang.org/issues/15067#change-81074
* Author: usa (Usaku NAKAMURA)
* Status: Closed
* Priority: Normal
* Assignee:
* Target version:
* ruby -v:
* Backport: 2.3: UNKNOWN, 2.4: UNKNOWN, 2.5: UNKNOWN
----------------------------------------
If the hostname is bind with multiple IP addresses, `Socket.getnameinfo` raises `SocketError`.
It's the spec of this method.
```
irb(main):001:0> require "socket"
=> true
irb(main):002:0> Socket.getnameinfo(['AF_INET', 21, 'multi'])
Traceback (most recent call last):
3: from C:/opt/ruby/bin/irb.cmd:21:in `<main>'
2: from (irb):2
1: from (irb):2:in `getnameinfo'
SocketError (sockaddr resolved to multiple nodename)
irb(main):003:0> exit
```
So, this code always reports error on such host.
library/socket/socket/getnameinfo_spec.rb:110
```ruby
describe 'without custom flags' do
it 'returns an Array containing the hostname and service name' do
array = Socket.getnameinfo(@addr) #<=== problem code
array.should be_an_instance_of(Array)
array[0].should include(@hostname)
```
--
https://bugs.ruby-lang.org/
Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>