resolved: tests for link_find_address()
This commit is contained in:
@@ -97,4 +97,37 @@ TEST(link_relevant) {
|
||||
link_address_free(address);
|
||||
}
|
||||
|
||||
/* ================================================================
|
||||
* link_find_address()
|
||||
* ================================================================ */
|
||||
|
||||
TEST(link_find_address) {
|
||||
Manager manager = {};
|
||||
LinkAddress *v4addr = NULL, *v6addr = NULL, *ret_addr = NULL;
|
||||
_cleanup_(link_freep) Link *link = NULL;
|
||||
|
||||
union in_addr_union ipv4 = { .in.s_addr = htobe32(0xc0a84301) };
|
||||
union in_addr_union ipv6 = { .in6.s6_addr = { 0xf2, 0x34, 0x32, 0x2e, 0xb8, 0x25, 0x38, 0x35, 0x2f, 0xd7, 0xdb, 0x7b, 0x28, 0x7e, 0x60, 0xbb } };
|
||||
|
||||
ASSERT_OK(link_new(&manager, &link, 1));
|
||||
ASSERT_NOT_NULL(link);
|
||||
|
||||
ASSERT_OK(link_address_new(link, &v4addr, AF_INET, &ipv4, &ipv4));
|
||||
ASSERT_NOT_NULL(v4addr);
|
||||
ASSERT_OK(link_address_new(link, &v6addr, AF_INET6, &ipv6, &ipv6));
|
||||
ASSERT_NOT_NULL(v6addr);
|
||||
|
||||
ret_addr = link_find_address(link, AF_INET, &ipv4);
|
||||
ASSERT_TRUE(ret_addr == v4addr);
|
||||
|
||||
ret_addr = link_find_address(link, AF_INET6, &ipv6);
|
||||
ASSERT_TRUE(ret_addr == v6addr);
|
||||
|
||||
ret_addr = link_find_address(link, AF_INET6, &ipv4);
|
||||
ASSERT_NULL(ret_addr);
|
||||
|
||||
link_address_free(v4addr);
|
||||
link_address_free(v6addr);
|
||||
}
|
||||
|
||||
DEFINE_TEST_MAIN(LOG_DEBUG)
|
||||
|
||||
Reference in New Issue
Block a user