Skip to content

Commit e545faf

Browse files
authored
Merge pull request #81 from take-cheeze/fix_libresolv_leak
Fix libresolv leak.
2 parents 1552a8b + abc3f4a commit e545faf

File tree

3 files changed

+34
-34
lines changed

3 files changed

+34
-34
lines changed

test/callback.rb

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,39 @@ def assert_uv(name, &block)
183183
assert_equal :getaddrinfo, req.type_name
184184

185185
# getaddrinfo without callback
186-
assert_raise(ArgumentError) { UV.getaddrinfo 'example.com', 'http' }
186+
assert_raise(ArgumentError) { UV.getaddrinfo 'localhost', 'http' }
187+
end
188+
189+
assert 'UV.getaddrinfo ipv4' do
190+
UV::getaddrinfo('localhost', 'http', {:ai_family => :ipv4}) do |x, info|
191+
assert_kind_of UV::Ip4Addr, info.addr
192+
end
193+
UV::run()
194+
end
195+
196+
assert 'UV.getaddrinfo ipv6' do
197+
UV::getaddrinfo('::1', 'http', {:ai_family => :ipv6}) do |x, info|
198+
addr = info.addr
199+
assert_kind_of UV::Ip6Addr, addr
200+
assert_kind_of Integer, addr.scope_id
201+
if addr.scope_id != 0 && addr.respond_to?(:if_indextoname)
202+
assert_kind_of String, addr.if_indextoname
203+
assert_kind_of String, addr.if_indextoiid
204+
end
205+
end
206+
UV::run()
207+
end
208+
209+
assert 'UV.getaddrinfo.next' do
210+
UV::getaddrinfo('localhost', 'http') do |x, info|
211+
while info
212+
assert_kind_of UV::Addrinfo, info
213+
info = info.next
214+
end
215+
216+
assert_nil info
217+
end
218+
UV::run()
187219
end
188220

189221
assert_uv 'UV.getnameinfo' do

test/uv.rb

Lines changed: 0 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -160,38 +160,6 @@
160160
assert_equal s, s
161161
end
162162

163-
assert 'UV.getaddrinfo ipv4' do
164-
UV::getaddrinfo('localhost', 'http', {:ai_family => :ipv4}) do |x, info|
165-
assert_kind_of UV::Ip4Addr, info.addr
166-
end
167-
UV::run()
168-
end
169-
170-
assert 'UV.getaddrinfo ipv6' do
171-
UV::getaddrinfo('example.com', 'http', {:ai_family => :ipv6}) do |x, info|
172-
addr = info.addr
173-
assert_kind_of UV::Ip6Addr, addr
174-
assert_kind_of Integer, addr.scope_id
175-
if addr.scope_id != 0 && addr.respond_to?(:if_indextoname)
176-
assert_kind_of String, addr.if_indextoname
177-
assert_kind_of String, addr.if_indextoiid
178-
end
179-
end
180-
UV::run()
181-
end
182-
183-
assert 'UV.getaddrinfo.next' do
184-
UV::getaddrinfo('localhost', 'http') do |x, info|
185-
while info
186-
assert_kind_of UV::Addrinfo, info
187-
info = info.next
188-
end
189-
190-
assert_nil info
191-
end
192-
UV::run()
193-
end
194-
195163
assert 'UV.get_error' do
196164
err = UV::get_error(-1)
197165
assert_true err.is_a?(UVError)

test/yarn.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
assert_kind_of String, host
3333
assert_equal 'http', service
3434

35-
err, a = UV.getaddrinfo 'example.com', 'http'
35+
err, a = UV.getaddrinfo 'localhost', 'http'
3636
assert_nil err
3737
assert_equal 80, a.addr.sin_port
3838
end

0 commit comments

Comments
 (0)