Skip to content

Commit

Permalink
Merge pull request #726 from ruby/fix-resolv-test
Browse files Browse the repository at this point in the history
Fix resolv test
  • Loading branch information
soutaro authored Jul 28, 2021
2 parents d4fc822 + 6b2c812 commit 9240707
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 15 deletions.
2 changes: 1 addition & 1 deletion stdlib/resolv/0/resolv.rbs
Original file line number Diff line number Diff line change
Expand Up @@ -177,7 +177,7 @@ class Resolv::DNS
# `address` must be a Resolv::IPv4, Resolv::IPv6 or a String. Retrieved names
# will be Resolv::DNS::Name instances.
#
def getnames: (ip_address | dns_name address) -> [Resolv::DNS::Name]
def getnames: (ip_address | dns_name address) -> Array[Resolv::DNS::Name]

# Look up the `typeclass` DNS resource of `name`.
#
Expand Down
33 changes: 19 additions & 14 deletions test/stdlib/resolv/DNS_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@ def test_random
end
end


class ResolvDNSinstanceTest < Test::Unit::TestCase
include TypeAssertions
library 'resolv'
Expand Down Expand Up @@ -86,10 +85,12 @@ def test_fetch_resource
end

def test_getaddress
assert_send_type "(String) -> (Resolv::IPv4 | Resolv::IPv6)",
resolv_dns, :getaddress, "localhost"
assert_send_type "(Resolv::DNS::Name) -> (Resolv::IPv4 | Resolv::IPv6)",
resolv_dns, :getaddress, Resolv::DNS::Name.create("localhost")
allows_error(Resolv::ResolvError) do
assert_send_type "(String) -> (Resolv::IPv4 | Resolv::IPv6)",
resolv_dns, :getaddress, "localhost"
assert_send_type "(Resolv::DNS::Name) -> (Resolv::IPv4 | Resolv::IPv6)",
resolv_dns, :getaddress, Resolv::DNS::Name.create("localhost")
end
end

def test_getaddresses
Expand All @@ -100,12 +101,14 @@ def test_getaddresses
end

def test_getname
assert_send_type "(String) -> Resolv::DNS::Name",
resolv_dns, :getname, "127.0.0.1"
assert_send_type "(Resolv::IPv4) -> Resolv::DNS::Name",
resolv_dns, :getname, Resolv::IPv4.create("127.0.0.1")
assert_send_type "(Resolv::DNS::Name) -> Resolv::DNS::Name",
resolv_dns, :getname, Resolv::IPv4.create("127.0.0.1").to_name
allows_error(Resolv::ResolvError) do
assert_send_type "(String) -> Resolv::DNS::Name",
resolv_dns, :getname, "127.0.0.1"
assert_send_type "(Resolv::IPv4) -> Resolv::DNS::Name",
resolv_dns, :getname, Resolv::IPv4.create("127.0.0.1")
assert_send_type "(Resolv::DNS::Name) -> Resolv::DNS::Name",
resolv_dns, :getname, Resolv::IPv4.create("127.0.0.1").to_name
end
end

def test_getnames
Expand All @@ -114,8 +117,10 @@ def test_getnames
end

def test_getresource
assert_send_type "(String, singleton(Resolv::DNS::Query)) -> Resolv::DNS::Resource",
resolv_dns, :getresource, "localhost", Resolv::DNS::Resource::IN::A
allows_error(Resolv::ResolvError) do
assert_send_type "(String, singleton(Resolv::DNS::Query)) -> Resolv::DNS::Resource",
resolv_dns, :getresource, "localhost", Resolv::DNS::Resource::IN::A
end
end

def test_getresources
Expand Down Expand Up @@ -196,7 +201,7 @@ def test_resolv
end

def test_single?
assert_send_type '() -> [String, Integer]',
assert_send_type '() -> [String, Integer]?',
dns_config, :single?
end

Expand Down
6 changes: 6 additions & 0 deletions test/stdlib/test_helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -336,6 +336,12 @@ def method_types(method)
definition.methods[method].method_types
end
end

def allows_error(*errors)
yield
rescue *errors => exn
notify "Error allowed: #{exn.inspect}"
end
end

class ToInt
Expand Down

0 comments on commit 9240707

Please sign in to comment.