static void test_fib_15_get_lifetime(void) { timex_t lifetime, now; kernel_pid_t iface_id = 1; char addr_dst[] = "Test address151"; char addr_nxt[] = "Test address152"; size_t add_buf_size = 16; uint32_t addr_dst_flags = 0x77777777; uint32_t addr_nxt_flags = 0x77777777; TEST_ASSERT_EQUAL_INT(0, fib_add_entry(iface_id, (uint8_t *)addr_dst, add_buf_size - 1, addr_dst_flags, (uint8_t *)addr_nxt, add_buf_size - 1, addr_nxt_flags, 1000)); TEST_ASSERT_EQUAL_INT(0, fib_devel_get_lifetime(&lifetime, (uint8_t *)addr_dst, add_buf_size - 1)); /* assuming some ms passed during these operations... */ vtimer_now(&now); timex_t cmp_lifetime = timex_add(now, timex_set(0, 900000)); timex_t cmp_max_lifetime = timex_add(now, timex_set(1,1)); TEST_ASSERT_EQUAL_INT(1, timex_cmp(lifetime, cmp_lifetime)); /* make sure lifetime hasn't grown magically either */ TEST_ASSERT_EQUAL_INT(-1, timex_cmp(lifetime, cmp_max_lifetime)); fib_deinit(); }
static void test_fib_15_get_lifetime(void) { uint64_t lifetime, now; kernel_pid_t iface_id = 1; char addr_dst[] = "Test address151"; char addr_nxt[] = "Test address152"; size_t add_buf_size = 16; uint32_t addr_dst_flags = 0x77777777; uint32_t addr_nxt_flags = 0x77777777; TEST_ASSERT_EQUAL_INT(0, fib_add_entry(&test_fib_table, iface_id, (uint8_t *)addr_dst, add_buf_size - 1, addr_dst_flags, (uint8_t *)addr_nxt, add_buf_size - 1, addr_nxt_flags, 1000)); TEST_ASSERT_EQUAL_INT(0, fib_devel_get_lifetime(&test_fib_table, &lifetime, (uint8_t *)addr_dst, add_buf_size - 1)); /* assuming some ms passed during these operations... */ now = xtimer_now64(); uint64_t cmp_lifetime = now + 900000lU; uint64_t cmp_max_lifetime = now + 1100000lU; TEST_ASSERT_EQUAL_INT(1, (lifetime > cmp_lifetime)); /* make sure lifetime hasn't grown magically either */ TEST_ASSERT_EQUAL_INT(1, (lifetime < cmp_max_lifetime)); fib_deinit(&test_fib_table); }