summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/luv/tests/test-dns.lua
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/luv/tests/test-dns.lua')
-rw-r--r--3rdparty/luv/tests/test-dns.lua125
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)