diff options
Diffstat (limited to 'posix/tst-getaddrinfo3.c')
-rw-r--r-- | posix/tst-getaddrinfo3.c | 151 |
1 files changed, 0 insertions, 151 deletions
diff --git a/posix/tst-getaddrinfo3.c b/posix/tst-getaddrinfo3.c deleted file mode 100644 index 5077f31..0000000 --- a/posix/tst-getaddrinfo3.c +++ /dev/null @@ -1,151 +0,0 @@ -#include <mcheck.h> -#include <netdb.h> -#include <stdio.h> -#include <string.h> -#include <arpa/inet.h> -#include <arpa/nameser.h> - - -static int -do_test (void) -{ - mtrace (); - - int result = 0; - struct addrinfo hints; - struct addrinfo *ai_res; - int s; - -#define T(no, fail, addr, fam, coraddr) \ - s = getaddrinfo (addr, NULL, &hints, &ai_res); \ - if (s != 0) \ - { \ - if (s != fail) \ - { \ - printf ("getaddrinfo test %d failed: %s\n", no, gai_strerror (s)); \ - result = 1; \ - } \ - ai_res = NULL; \ - } \ - else if (fail) \ - { \ - printf ("getaddrinfo test %d should have failed but did not\n", no); \ - result = 1; \ - } \ - else if (ai_res->ai_family != fam) \ - { \ - printf ("\ -getaddrinfo test %d return address of family %d, expected %d\n", \ - no, ai_res->ai_family, fam); \ - result = 1; \ - } \ - else if (fam == AF_INET) \ - { \ - if (ai_res->ai_addrlen != sizeof (struct sockaddr_in)) \ - { \ - printf ("getaddrinfo test %d: address size %zu, expected %zu\n", \ - no, (size_t) ai_res->ai_addrlen, \ - sizeof (struct sockaddr_in)); \ - result = 1; \ - } \ - else if (strcmp (coraddr, \ - inet_ntoa (((struct sockaddr_in *) ai_res->ai_addr)->sin_addr))\ - != 0) \ - { \ - printf ("getaddrinfo test %d: got value %s, expected %s\n", \ - no, \ - inet_ntoa (((struct sockaddr_in *) ai_res->ai_addr)->sin_addr), \ - coraddr); \ - result = 1; \ - } \ - } \ - else \ - { \ - char buf[100]; \ - \ - if (ai_res->ai_addrlen != sizeof (struct sockaddr_in6)) \ - { \ - printf ("getaddrinfo test %d: address size %zu, expected %zu\n", \ - no, (size_t) ai_res->ai_addrlen, \ - sizeof (struct sockaddr_in6)); \ - result = 1; \ - } \ - else if (strcmp (coraddr, \ - inet_ntop (AF_INET6, \ - &((struct sockaddr_in6 *) ai_res->ai_addr)->sin6_addr,\ - buf, sizeof (buf))) \ - != 0) \ - { \ - printf ("getaddrinfo test %d: got value %s, expected %s\n", \ - no, \ - inet_ntop (AF_INET6, \ - & ((struct sockaddr_in6 *) ai_res->ai_addr)->sin6_addr, \ - buf, sizeof (buf)), \ - coraddr); \ - result = 1; \ - } \ - } \ - if (ai_res != NULL && ai_res->ai_next != NULL) \ - { \ - puts ("expected only one result"); \ - result = 1; \ - } \ - freeaddrinfo (ai_res) - - - memset (&hints, '\0', sizeof (hints)); - hints.ai_family = AF_UNSPEC; - hints.ai_socktype = SOCK_STREAM; - T (1, 0, "127.0.0.1", AF_INET, "127.0.0.1"); - - memset (&hints, '\0', sizeof (hints)); - hints.ai_family = AF_INET; - hints.ai_socktype = SOCK_STREAM; - T (2, 0, "127.0.0.1", AF_INET, "127.0.0.1"); - - memset (&hints, '\0', sizeof (hints)); - hints.ai_family = AF_INET6; - hints.ai_socktype = SOCK_STREAM; - hints.ai_flags = AI_V4MAPPED; - T (3, 0, "127.0.0.1", AF_INET6, "::ffff:127.0.0.1"); - - memset (&hints, '\0', sizeof (hints)); - hints.ai_family = AF_INET6; - hints.ai_socktype = SOCK_STREAM; - T (4, EAI_ADDRFAMILY, "127.0.0.1", AF_INET6, ""); - - memset (&hints, '\0', sizeof (hints)); - hints.ai_family = AF_UNSPEC; - hints.ai_socktype = SOCK_STREAM; - T (5, 0, "::1", AF_INET6, "::1"); - - memset (&hints, '\0', sizeof (hints)); - hints.ai_family = AF_INET; - hints.ai_socktype = SOCK_STREAM; - T (6, EAI_ADDRFAMILY, "::1", AF_INET6, ""); - - memset (&hints, '\0', sizeof (hints)); - hints.ai_family = AF_INET6; - hints.ai_socktype = SOCK_STREAM; - T (7, 0, "::1", AF_INET6, "::1"); - - memset (&hints, '\0', sizeof (hints)); - hints.ai_family = AF_UNSPEC; - hints.ai_socktype = SOCK_STREAM; - T (8, 0, "::ffff:127.0.0.1", AF_INET6, "::ffff:127.0.0.1"); - - memset (&hints, '\0', sizeof (hints)); - hints.ai_family = AF_INET; - hints.ai_socktype = SOCK_STREAM; - T (9, 0, "::ffff:127.0.0.1", AF_INET, "127.0.0.1"); - - memset (&hints, '\0', sizeof (hints)); - hints.ai_family = AF_INET6; - hints.ai_socktype = SOCK_STREAM; - T (10, 0, "::ffff:127.0.0.1", AF_INET6, "::ffff:127.0.0.1"); - - return result; -} - -#define TEST_FUNCTION do_test () -#include "../test-skeleton.c" |