aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/resolv.c90
1 files changed, 64 insertions, 26 deletions
diff --git a/tests/resolv.c b/tests/resolv.c
index 94108765..849b41cd 100644
--- a/tests/resolv.c
+++ b/tests/resolv.c
@@ -126,67 +126,105 @@ ip6tostr(void *addr)
);
#endif
-TestMain("TCP Resolver", {
+TestMain("Resolver", {
nni_init();
Convey("Google DNS IPv4 resolves", {
- nni_aio aio;
- const char *str;
+ nni_aio aio;
+ const char * str;
+ nng_sockaddr sa;
memset(&aio, 0, sizeof(aio));
nni_aio_init(&aio, NULL, NULL);
+ aio.a_addr = &sa;
nni_plat_tcp_resolv("google-public-dns-a.google.com", "80",
NNG_AF_INET, 1, &aio);
nni_aio_wait(&aio);
So(nni_aio_result(&aio) == 0);
- So(aio.a_naddrs == 1);
- So(aio.a_addrs[0].s_un.s_in.sa_family == NNG_AF_INET);
- So(aio.a_addrs[0].s_un.s_in.sa_port == ntohs(80));
- str = ip4tostr(&aio.a_addrs[0].s_un.s_in.sa_addr);
+ So(sa.s_un.s_in.sa_family == NNG_AF_INET);
+ So(sa.s_un.s_in.sa_port == ntohs(80));
+ str = ip4tostr(&sa.s_un.s_in.sa_addr);
So(strcmp(str, "8.8.8.8") == 0);
nni_aio_fini(&aio);
});
+ Convey("Numeric UDP resolves", {
+ nni_aio aio;
+ const char * str;
+ nng_sockaddr sa;
+ memset(&aio, 0, sizeof(aio));
+ nni_aio_init(&aio, NULL, NULL);
+ aio.a_addr = &sa;
+ nni_plat_udp_resolv("8.8.4.4", "69", NNG_AF_INET, 1, &aio);
+ nni_aio_wait(&aio);
+ So(nni_aio_result(&aio) == 0);
+ So(sa.s_un.s_in.sa_family == NNG_AF_INET);
+ So(sa.s_un.s_in.sa_port == ntohs(69));
+ str = ip4tostr(&sa.s_un.s_in.sa_addr);
+ So(strcmp(str, "8.8.4.4") == 0);
+ nni_aio_fini(&aio);
+ });
Convey("Numeric v4 resolves", {
- nni_aio aio;
- const char *str;
+ nni_aio aio;
+ const char * str;
+ nng_sockaddr sa;
memset(&aio, 0, sizeof(aio));
nni_aio_init(&aio, NULL, NULL);
+ aio.a_addr = &sa;
nni_plat_tcp_resolv("8.8.4.4", "80", NNG_AF_INET, 1, &aio);
nni_aio_wait(&aio);
So(nni_aio_result(&aio) == 0);
- So(aio.a_naddrs == 1);
- So(aio.a_addrs[0].s_un.s_in.sa_family == NNG_AF_INET);
- So(aio.a_addrs[0].s_un.s_in.sa_port == ntohs(80));
- str = ip4tostr(&aio.a_addrs[0].s_un.s_in.sa_addr);
+ So(sa.s_un.s_in.sa_family == NNG_AF_INET);
+ So(sa.s_un.s_in.sa_port == ntohs(80));
+ str = ip4tostr(&sa.s_un.s_in.sa_addr);
So(strcmp(str, "8.8.4.4") == 0);
nni_aio_fini(&aio);
});
Convey("Numeric v6 resolves", {
- nni_aio aio;
- const char *str;
+ nni_aio aio;
+ const char * str;
+ nng_sockaddr sa;
memset(&aio, 0, sizeof(aio));
nni_aio_init(&aio, NULL, NULL);
+ aio.a_addr = &sa;
nni_plat_tcp_resolv("::1", "80", NNG_AF_INET6, 1, &aio);
nni_aio_wait(&aio);
So(nni_aio_result(&aio) == 0);
- So(aio.a_naddrs == 1);
- So(aio.a_addrs[0].s_un.s_in6.sa_family == NNG_AF_INET6);
- So(aio.a_addrs[0].s_un.s_in6.sa_port == ntohs(80));
- str = ip6tostr(&aio.a_addrs[0].s_un.s_in6.sa_addr);
+ So(sa.s_un.s_in6.sa_family == NNG_AF_INET6);
+ So(sa.s_un.s_in6.sa_port == ntohs(80));
+ str = ip6tostr(&sa.s_un.s_in6.sa_addr);
So(strcmp(str, "::1") == 0);
nni_aio_fini(&aio);
});
- Convey("Name service resolves", {
- nni_aio aio;
- const char *str;
+
+ Convey("TCP Name service resolves", {
+ nni_aio aio;
+ const char * str;
+ nng_sockaddr sa;
memset(&aio, 0, sizeof(aio));
nni_aio_init(&aio, NULL, NULL);
+ aio.a_addr = &sa;
nni_plat_tcp_resolv("8.8.4.4", "http", NNG_AF_INET, 1, &aio);
nni_aio_wait(&aio);
So(nni_aio_result(&aio) == 0);
- So(aio.a_naddrs == 1);
- So(aio.a_addrs[0].s_un.s_in.sa_family == NNG_AF_INET);
- So(aio.a_addrs[0].s_un.s_in.sa_port == ntohs(80));
- str = ip4tostr(&aio.a_addrs[0].s_un.s_in.sa_addr);
+ So(sa.s_un.s_in.sa_family == NNG_AF_INET);
+ So(sa.s_un.s_in.sa_port == ntohs(80));
+ str = ip4tostr(&sa.s_un.s_in.sa_addr);
+ So(strcmp(str, "8.8.4.4") == 0);
+ nni_aio_fini(&aio);
+ });
+
+ Convey("UDP Name service resolves", {
+ nni_aio aio;
+ const char * str;
+ nng_sockaddr sa;
+ memset(&aio, 0, sizeof(aio));
+ nni_aio_init(&aio, NULL, NULL);
+ aio.a_addr = &sa;
+ nni_plat_udp_resolv("8.8.4.4", "tftp", NNG_AF_INET, 1, &aio);
+ nni_aio_wait(&aio);
+ So(nni_aio_result(&aio) == 0);
+ So(sa.s_un.s_in.sa_family == NNG_AF_INET);
+ So(sa.s_un.s_in.sa_port == ntohs(69));
+ str = ip4tostr(&sa.s_un.s_in.sa_addr);
So(strcmp(str, "8.8.4.4") == 0);
nni_aio_fini(&aio);
});