static void test_ipv6_nc_get__different_addr(void) { ipv6_addr_t addr = OTHER_TEST_IPV6_ADDR; test_ipv6_nc_add__success(); /* adds DEFAULT_TEST_IPV6_ADDR to DEFAULT_TEST_NETIF */ TEST_ASSERT_NULL(gnrc_ipv6_nc_get(DEFAULT_TEST_NETIF, &addr)); }
static void test_ipv6_nc_get_next__1_entry(void) { gnrc_ipv6_nc_t *entry = NULL; test_ipv6_nc_add__success(); /* adds DEFAULT_TEST_IPV6_ADDR to DEFAULT_TEST_NETIF */ TEST_ASSERT_NOT_NULL((entry = gnrc_ipv6_nc_get_next(NULL))); TEST_ASSERT_NULL(gnrc_ipv6_nc_get_next(entry)); }
static void test_ipv6_nc_remove__success(void) { ipv6_addr_t addr = DEFAULT_TEST_IPV6_ADDR; test_ipv6_nc_add__success(); /* adds DEFAULT_TEST_IPV6_ADDR to DEFAULT_TEST_NETIF */ TEST_ASSERT_NOT_NULL(gnrc_ipv6_nc_get(DEFAULT_TEST_NETIF, &addr)); gnrc_ipv6_nc_remove(DEFAULT_TEST_NETIF, &addr); TEST_ASSERT_NULL(gnrc_ipv6_nc_get(DEFAULT_TEST_NETIF, &addr)); }
static void test_ipv6_nc_remove__no_entry_pid(void) { ipv6_addr_t addr = DEFAULT_TEST_IPV6_ADDR; test_ipv6_nc_add__success(); /* adds DEFAULT_TEST_IPV6_ADDR to DEFAULT_TEST_NETIF */ ng_ipv6_nc_remove(OTHER_TEST_NETIF, &addr); TEST_ASSERT_NOT_NULL(ng_ipv6_nc_get(DEFAULT_TEST_NETIF, &addr)); TEST_ASSERT_NULL(ng_ipv6_nc_get(OTHER_TEST_NETIF, &addr)); }
static void test_ipv6_nc_remove__no_entry_addr2(void) { ipv6_addr_t addr = IPV6_ADDR_UNSPECIFIED; ipv6_addr_t exp_addr = DEFAULT_TEST_IPV6_ADDR; test_ipv6_nc_add__success(); /* adds DEFAULT_TEST_IPV6_ADDR to DEFAULT_TEST_NETIF */ gnrc_ipv6_nc_remove(DEFAULT_TEST_NETIF, &addr); TEST_ASSERT_NOT_NULL(gnrc_ipv6_nc_get(DEFAULT_TEST_NETIF, &exp_addr)); TEST_ASSERT_NULL(gnrc_ipv6_nc_get(DEFAULT_TEST_NETIF, &addr)); }
static void test_ipv6_nc_is_reachable__unmanaged(void) { ipv6_addr_t addr = DEFAULT_TEST_IPV6_ADDR; gnrc_ipv6_nc_t *entry = NULL; test_ipv6_nc_add__success(); /* adds DEFAULT_TEST_IPV6_ADDR to DEFAULT_TEST_NETIF */ TEST_ASSERT_NOT_NULL((entry = gnrc_ipv6_nc_get(DEFAULT_TEST_NETIF, &addr))); entry->flags = (GNRC_IPV6_NC_STATE_UNMANAGED << GNRC_IPV6_NC_STATE_POS); TEST_ASSERT(gnrc_ipv6_nc_is_reachable(entry)); }
static void test_ipv6_nc_is_reachable__incomplete(void) { ipv6_addr_t addr = DEFAULT_TEST_IPV6_ADDR; gnrc_ipv6_nc_t *entry = NULL; test_ipv6_nc_add__success(); /* adds DEFAULT_TEST_IPV6_ADDR to DEFAULT_TEST_NETIF */ TEST_ASSERT_NOT_NULL((entry = gnrc_ipv6_nc_get(KERNEL_PID_UNDEF, &addr))); entry->flags = (GNRC_IPV6_NC_STATE_INCOMPLETE << GNRC_IPV6_NC_STATE_POS); TEST_ASSERT(!gnrc_ipv6_nc_is_reachable(entry)); }
static void test_ipv6_nc_is_reachable__reachable(void) { ipv6_addr_t addr = DEFAULT_TEST_IPV6_ADDR; ng_ipv6_nc_t *entry = NULL; test_ipv6_nc_add__success(); /* adds DEFAULT_TEST_IPV6_ADDR to DEFAULT_TEST_NETIF */ TEST_ASSERT_NOT_NULL((entry = ng_ipv6_nc_get(DEFAULT_TEST_NETIF, &addr))); entry->flags = (NG_IPV6_NC_STATE_REACHABLE << NG_IPV6_NC_STATE_POS); TEST_ASSERT(ng_ipv6_nc_is_reachable(entry)); }
static void test_ipv6_nc_get_l2_addr__unreachable(void) { ipv6_addr_t addr = DEFAULT_TEST_IPV6_ADDR; gnrc_ipv6_nc_t *entry = NULL; uint8_t l2_addr[GNRC_IPV6_NC_L2_ADDR_MAX]; uint8_t l2_addr_len = 0; test_ipv6_nc_add__success(); /* adds DEFAULT_TEST_IPV6_ADDR to DEFAULT_TEST_NETIF */ TEST_ASSERT_NOT_NULL((entry = gnrc_ipv6_nc_get(KERNEL_PID_UNDEF, &addr))); entry->flags = (GNRC_IPV6_NC_STATE_INCOMPLETE << GNRC_IPV6_NC_STATE_POS); TEST_ASSERT_EQUAL_INT(KERNEL_PID_UNDEF, gnrc_ipv6_nc_get_l2_addr(l2_addr, &l2_addr_len, entry)); }
static void test_ipv6_nc_get_next__2_entries(void) { ipv6_addr_t addr = OTHER_TEST_IPV6_ADDR; gnrc_ipv6_nc_t *entry = NULL; test_ipv6_nc_add__success(); /* adds DEFAULT_TEST_IPV6_ADDR to DEFAULT_TEST_NETIF */ TEST_ASSERT_NOT_NULL(gnrc_ipv6_nc_add(DEFAULT_TEST_NETIF, &addr, TEST_STRING8, sizeof(TEST_STRING8) - 1, 0)); TEST_ASSERT_NOT_NULL((entry = gnrc_ipv6_nc_get_next(NULL))); TEST_ASSERT_NOT_NULL((entry = gnrc_ipv6_nc_get_next(entry))); TEST_ASSERT_NULL(gnrc_ipv6_nc_get_next(entry)); }
static void test_ipv6_nc_get__success_if_global(void) { ipv6_addr_t addr = DEFAULT_TEST_IPV6_ADDR; gnrc_ipv6_nc_t *entry = NULL; test_ipv6_nc_add__success(); /* adds DEFAULT_TEST_IPV6_ADDR to DEFAULT_TEST_NETIF */ TEST_ASSERT_NOT_NULL((entry = gnrc_ipv6_nc_get(KERNEL_PID_UNDEF, &addr))); TEST_ASSERT_EQUAL_INT(DEFAULT_TEST_NETIF, entry->iface); TEST_ASSERT(ipv6_addr_equal(&(entry->ipv6_addr), &addr)); TEST_ASSERT_EQUAL_STRING(TEST_STRING4, (char *)entry->l2_addr); TEST_ASSERT_EQUAL_INT(sizeof(TEST_STRING4), entry->l2_addr_len); TEST_ASSERT_EQUAL_INT(0, entry->flags); }