socknode_getifaddrs_to_list is added

This commit is contained in:
Sukchan Lee 2017-12-01 15:56:56 +09:00
parent c6623a277a
commit 5cebb48bc6
3 changed files with 155 additions and 34 deletions

View file

@ -260,42 +260,31 @@ static void sock_test5(abts_case *tc, void *data)
static void sock_test6(abts_case *tc, void *data)
{
c_sockaddr_t sa;
c_sockaddr_t addr, *paddr;
char buf[CORE_ADDRSTRLEN];
status_t rv;
rv = core_inet_pton(AF_INET, "127.0.0.1", &sa);
rv = core_inet_pton(AF_INET, "127.0.0.1", &addr);
ABTS_INT_EQUAL(tc, CORE_OK, rv);
ABTS_STR_EQUAL(tc, "127.0.0.1", CORE_ADDR(&sa, buf));
ABTS_STR_EQUAL(tc, "127.0.0.1", CORE_ADDR(&addr, buf));
rv = core_inet_pton(AF_INET6, "::1", &sa);
rv = core_inet_pton(AF_INET6, "::1", &addr);
ABTS_INT_EQUAL(tc, CORE_OK, rv);
ABTS_STR_EQUAL(tc, "::1", CORE_ADDR(&addr, buf));
rv = core_getaddrinfo(&paddr, AF_UNSPEC, NULL, PORT, 0);
ABTS_INT_EQUAL(tc, CORE_OK, rv);
rv = core_freeaddrinfo(paddr);
ABTS_INT_EQUAL(tc, CORE_OK, rv);
ABTS_STR_EQUAL(tc, "::1", CORE_ADDR(&sa, buf));
}
static void sock_test7(abts_case *tc, void *data)
{
c_sockaddr_t *sa;
status_t rv;
rv = core_getaddrinfo(&sa, AF_UNSPEC, NULL, PORT, 0);
ABTS_INT_EQUAL(tc, CORE_OK, rv);
rv = core_freeaddrinfo(sa);
ABTS_INT_EQUAL(tc, CORE_OK, rv);
rv = core_getifaddrs(&sa);
ABTS_INT_EQUAL(tc, CORE_OK, rv);
rv = core_freeaddrinfo(sa);
ABTS_INT_EQUAL(tc, CORE_OK, rv);
}
static void sock_test8(abts_case *tc, void *data)
{
c_socknode_t *node;
c_sockaddr_t *addr;
list_t list;
list_t list, list2;
char buf[CORE_ADDRSTRLEN];
list_init(&list);
@ -303,6 +292,8 @@ static void sock_test8(abts_case *tc, void *data)
ABTS_PTR_NOTNULL(tc, node);
node = socknode_add(&list, AF_INET, NULL, PORT, 1);
ABTS_PTR_NOTNULL(tc, node);
node = socknode_add(&list, AF_UNSPEC, NULL, PORT, 1);
ABTS_PTR_NOTNULL(tc, node);
node = list_first(&list);
ABTS_PTR_NOTNULL(tc, node);
@ -310,6 +301,7 @@ static void sock_test8(abts_case *tc, void *data)
ABTS_PTR_NOTNULL(tc, addr);
ABTS_STR_EQUAL(tc, "::1", CORE_ADDR(addr, buf));
ABTS_INT_EQUAL(tc, PORT, CORE_PORT(addr));
ABTS_INT_EQUAL(tc, SOCKNODE_TYPE_IPV6, node->type);
node = list_next(node);
ABTS_PTR_NOTNULL(tc, node);
@ -317,6 +309,17 @@ static void sock_test8(abts_case *tc, void *data)
ABTS_PTR_NOTNULL(tc, addr);
ABTS_STR_EQUAL(tc, "0.0.0.0", CORE_ADDR(addr, buf));
ABTS_INT_EQUAL(tc, PORT, CORE_PORT(addr));
ABTS_INT_EQUAL(tc, SOCKNODE_TYPE_IPV4, node->type);
node = list_next(node);
ABTS_PTR_NOTNULL(tc, node);
addr = node->addr;
ABTS_PTR_NOTNULL(tc, addr);
ABTS_INT_EQUAL(tc, PORT, CORE_PORT(addr));
ABTS_INT_EQUAL(tc, SOCKNODE_TYPE_IPV4_AND_IPV6, node->type);
rv = socknode_getifaddrs_to_list(&list, PORT);
ABTS_INT_EQUAL(tc, CORE_OK, rv);
socknode_remove_all(&list);
}
@ -332,7 +335,6 @@ abts_suite *testsock(abts_suite *suite)
abts_run_test(suite, sock_test5, NULL);
abts_run_test(suite, sock_test6, NULL);
abts_run_test(suite, sock_test7, NULL);
abts_run_test(suite, sock_test8, NULL);
return suite;
}