diff options
Diffstat (limited to 'src/platform/resolver_test.c')
| -rw-r--r-- | src/platform/resolver_test.c | 57 |
1 files changed, 34 insertions, 23 deletions
diff --git a/src/platform/resolver_test.c b/src/platform/resolver_test.c index 64554291..9c7db2c0 100644 --- a/src/platform/resolver_test.c +++ b/src/platform/resolver_test.c @@ -9,6 +9,7 @@ // #include "core/nng_impl.h" +#include "core/platform.h" #include <nuts.h> @@ -41,8 +42,8 @@ test_google_dns(void) nng_sockaddr sa; NUTS_PASS(nng_aio_alloc(&aio, NULL, NULL)); - nni_resolv_ip("google-public-dns-a.google.com", "80", NNG_AF_INET, - true, &sa, aio); + nni_resolv_ip( + "google-public-dns-a.google.com", 80, NNG_AF_INET, true, &sa, aio); nng_aio_wait(aio); NUTS_PASS(nng_aio_result(aio)); NUTS_TRUE(sa.s_in.sa_family == NNG_AF_INET); @@ -52,13 +53,29 @@ test_google_dns(void) } void +test_hostname_too_long(void) +{ + nng_aio *aio; + nng_sockaddr sa; + char buffer[512]; + + memset(buffer, 'a', sizeof(buffer) - 1); + buffer[sizeof(buffer) - 1] = '\0'; + NUTS_PASS(nng_aio_alloc(&aio, NULL, NULL)); + nni_resolv_ip(buffer, 80, NNG_AF_INET, true, &sa, aio); + nng_aio_wait(aio); + NUTS_FAIL(nng_aio_result(aio), NNG_EADDRINVAL); + nng_aio_free(aio); +} + +void test_numeric_addr(void) { nng_aio *aio; nng_sockaddr sa; NUTS_PASS(nng_aio_alloc(&aio, NULL, NULL)); - nni_resolv_ip("8.8.4.4", "69", NNG_AF_INET, true, &sa, aio); + nni_resolv_ip("8.8.4.4", 69, NNG_AF_INET, true, &sa, aio); nng_aio_wait(aio); NUTS_PASS(nng_aio_result(aio)); NUTS_TRUE(sa.s_in.sa_family == NNG_AF_INET); @@ -79,7 +96,7 @@ test_numeric_v6(void) } NUTS_MSG("IPV6 support present"); NUTS_PASS(nng_aio_alloc(&aio, NULL, NULL)); - nni_resolv_ip("::1", "80", NNG_AF_INET6, true, &sa, aio); + nni_resolv_ip("::1", 80, NNG_AF_INET6, true, &sa, aio); nng_aio_wait(aio); NUTS_PASS(nng_aio_result(aio)); NUTS_TRUE(sa.s_in6.sa_family == NNG_AF_INET6); @@ -94,14 +111,21 @@ test_service_names(void) { nng_aio *aio; nng_sockaddr sa; + uint16_t port; NUTS_PASS(nng_aio_alloc(&aio, NULL, NULL)); - nni_resolv_ip("8.8.4.4", "http", NNG_AF_INET, true, &sa, aio); + nni_resolv_ip("8.8.4.4", 80, NNG_AF_INET, true, &sa, aio); nng_aio_wait(aio); NUTS_PASS(nng_aio_result(aio)); NUTS_TRUE(sa.s_in.sa_port == nuts_be16(80)); NUTS_TRUE(sa.s_in.sa_addr = nuts_be32(0x08080404)); nng_aio_free(aio); + + NUTS_PASS(nni_get_port_by_name("http", &port)); + NUTS_TRUE(port == 80); + + NUTS_PASS(nni_get_port_by_name("25", &port)); + NUTS_TRUE(port == 25); } void @@ -111,7 +135,7 @@ test_localhost_v4(void) nng_sockaddr sa; NUTS_PASS(nng_aio_alloc(&aio, NULL, NULL)); - nni_resolv_ip("localhost", "80", NNG_AF_INET, true, &sa, aio); + nni_resolv_ip("localhost", 80, NNG_AF_INET, true, &sa, aio); nng_aio_wait(aio); NUTS_PASS(nng_aio_result(aio)); NUTS_TRUE(sa.s_in.sa_family == NNG_AF_INET); @@ -127,7 +151,7 @@ test_localhost_unspecified(void) nng_sockaddr sa; NUTS_PASS(nng_aio_alloc(&aio, NULL, NULL)); - nni_resolv_ip("localhost", "80", NNG_AF_UNSPEC, true, &sa, aio); + nni_resolv_ip("localhost", 80, NNG_AF_UNSPEC, true, &sa, aio); nng_aio_wait(aio); NUTS_PASS(nng_aio_result(aio)); NUTS_TRUE( @@ -154,7 +178,7 @@ test_null_passive(void) nng_sockaddr sa; NUTS_PASS(nng_aio_alloc(&aio, NULL, NULL)); - nni_resolv_ip(NULL, "80", NNG_AF_INET, true, &sa, aio); + nni_resolv_ip(NULL, 80, NNG_AF_INET, true, &sa, aio); nng_aio_wait(aio); NUTS_PASS(nng_aio_result(aio)); NUTS_TRUE(sa.s_in.sa_family == NNG_AF_INET); @@ -170,7 +194,7 @@ test_null_not_passive(void) nng_sockaddr sa; NUTS_PASS(nng_aio_alloc(&aio, NULL, NULL)); - nni_resolv_ip(NULL, "80", NNG_AF_INET, false, &sa, aio); + nni_resolv_ip(NULL, 80, NNG_AF_INET, false, &sa, aio); nng_aio_wait(aio); // We can either get invalid address, or a loopback address. // Most systems do the former, but Linux does the latter. @@ -184,21 +208,9 @@ test_null_not_passive(void) nng_aio_free(aio); } -void -test_bad_port_number(void) -{ - nng_aio *aio; - nng_sockaddr sa; - - NUTS_PASS(nng_aio_alloc(&aio, NULL, NULL)); - nni_resolv_ip("1.1.1.1", "1000000", NNG_AF_INET, true, &sa, aio); - nng_aio_wait(aio); - NUTS_FAIL(nng_aio_result(aio), NNG_EADDRINVAL); - nng_aio_free(aio); -} - NUTS_TESTS = { { "resolve google dns", test_google_dns }, + { "resolve hostname too long", test_hostname_too_long }, { "resolve numeric addr", test_numeric_addr }, #ifdef NNG_ENABLE_IPV6 { "resolve numeric v6", test_numeric_v6 }, @@ -208,6 +220,5 @@ NUTS_TESTS = { { "resolve localhost unspecified", test_localhost_unspecified }, { "resolve null passive", test_null_passive }, { "resolve null not passive", test_null_not_passive }, - { "resolve bad port number", test_bad_port_number }, { NULL, NULL }, }; |
