diff options
Diffstat (limited to '3rdparty/luv/tests/test-dns.lua')
-rw-r--r-- | 3rdparty/luv/tests/test-dns.lua | 125 |
1 files changed, 125 insertions, 0 deletions
diff --git a/3rdparty/luv/tests/test-dns.lua b/3rdparty/luv/tests/test-dns.lua new file mode 100644 index 00000000000..c24adba7164 --- /dev/null +++ b/3rdparty/luv/tests/test-dns.lua @@ -0,0 +1,125 @@ +return require('lib/tap')(function (test) + + test("Get all local http addresses", function (print, p, expect, uv) + assert(uv.getaddrinfo(nil, "http", nil, expect(function (err, res) + p(res, #res) + assert(not err, err) + assert(res[1].port == 80) + end))) + end) + + test("Get all local http addresses sync", function (print, p, expect, uv) + local res = assert(uv.getaddrinfo(nil, "http")) + p(res, #res) + assert(res[1].port == 80) + end) + + test("Get only ipv4 tcp adresses for luvit.io", function (print, p, expect, uv) + assert(uv.getaddrinfo("luvit.io", nil, { + socktype = "stream", + family = "inet", + }, expect(function (err, res) + assert(not err, err) + p(res, #res) + assert(#res == 1) + end))) + end) + + -- FIXME: this test always fails on AppVeyor for some reason + if _G.isWindows and not os.getenv'APPVEYOR' then + test("Get only ipv6 tcp adresses for luvit.io", function (print, p, expect, uv) + assert(uv.getaddrinfo("luvit.io", nil, { + socktype = "stream", + family = "inet6", + }, expect(function (err, res) + assert(not err, err) + p(res, #res) + assert(#res == 1) + end))) + end) + end + + test("Get ipv4 and ipv6 tcp adresses for luvit.io", function (print, p, expect, uv) + assert(uv.getaddrinfo("luvit.io", nil, { + socktype = "stream", + }, expect(function (err, res) + assert(not err, err) + p(res, #res) + assert(#res > 0) + end))) + end) + + test("Get all adresses for luvit.io", function (print, p, expect, uv) + assert(uv.getaddrinfo("luvit.io", nil, nil, expect(function (err, res) + assert(not err, err) + p(res, #res) + assert(#res > 0) + end))) + end) + + test("Lookup local ipv4 address", function (print, p, expect, uv) + assert(uv.getnameinfo({ + family = "inet", + }, expect(function (err, hostname, service) + p{err=err,hostname=hostname,service=service} + assert(not err, err) + assert(hostname) + assert(service) + end))) + end) + + test("Lookup local ipv4 address sync", function (print, p, expect, uv) + local hostname, service = assert(uv.getnameinfo({ + family = "inet", + })) + p{hostname=hostname,service=service} + assert(hostname) + assert(service) + end) + + test("Lookup local 127.0.0.1 ipv4 address", function (print, p, expect, uv) + assert(uv.getnameinfo({ + ip = "127.0.0.1", + }, expect(function (err, hostname, service) + p{err=err,hostname=hostname,service=service} + assert(not err, err) + assert(hostname) + assert(service) + end))) + end) + + test("Lookup local ipv6 address", function (print, p, expect, uv) + assert(uv.getnameinfo({ + family = "inet6", + }, expect(function (err, hostname, service) + p{err=err,hostname=hostname,service=service} + assert(not err, err) + assert(hostname) + assert(service) + end))) + end) + + test("Lookup local ::1 ipv6 address", function (print, p, expect, uv) + assert(uv.getnameinfo({ + ip = "::1", + }, expect(function (err, hostname, service) + p{err=err,hostname=hostname,service=service} + assert(not err, err) + assert(hostname) + assert(service) + end))) + end) + + test("Lookup local port 80 service", function (print, p, expect, uv) + assert(uv.getnameinfo({ + port = 80, + family = "inet6", + }, expect(function (err, hostname, service) + p{err=err,hostname=hostname,service=service} + assert(not err, err) + assert(hostname) + assert(service == "http") + end))) + end) + +end) |