Exemple #1
0
static void test_find_zero_blocks_null(void)
{
	uint64_t offset = 0;
	uint32_t len = 0;
	find_zero_blocks(NULL, &offset, &len);
	TEST_ASSERT_EQUAL_UINT64(0, offset);
	TEST_ASSERT_EQUAL_UINT32(0, len);
}
Exemple #2
0
static void test_find_zero_blocks_4097_zero_offset_1(void)
{
	const uint8_t buf[BLOCK_SIZE + 1] = {0};
	uint64_t offset = 1;
	uint32_t len = BLOCK_SIZE;
	find_zero_blocks(buf, &offset, &len);
	TEST_ASSERT_EQUAL_UINT64(BLOCK_SIZE, offset);
	TEST_ASSERT_EQUAL_UINT32(1, len);
}
Exemple #3
0
static void test_find_zero_blocks_4095(void)
{
	const uint8_t buf[4095] = {0};
	uint64_t offset = 0;
	uint32_t len = 4095;
	find_zero_blocks(buf, &offset, &len);
	TEST_ASSERT_EQUAL_UINT64(0, offset);
	TEST_ASSERT_EQUAL_UINT32(4095, len);
}
Exemple #4
0
static void test_find_zero_blocks_8K_zero_zero(void)
{
	const uint8_t buf[BLOCK_SIZE * 2] = {0};
	uint64_t offset = 0;
	uint32_t len = BLOCK_SIZE * 2;
	find_zero_blocks(buf, &offset, &len);
	TEST_ASSERT_EQUAL_UINT64(BLOCK_SIZE * 2, offset);
	TEST_ASSERT_EQUAL_UINT32(0, len);
}
Exemple #5
0
static void test_find_zero_blocks_4K_nonzero_at_middle(void)
{
	uint8_t buf[BLOCK_SIZE] = {0};
		buf[BLOCK_SIZE / 2] = 1;
	uint64_t offset = 0;
	uint32_t len = BLOCK_SIZE;
	find_zero_blocks(buf, &offset, &len);
	TEST_ASSERT_EQUAL_UINT64(0, offset);
	TEST_ASSERT_EQUAL_UINT32(BLOCK_SIZE, len);
}
Exemple #6
0
static void test_find_zero_blocks_20K_zero_zero_middle_zero_zero(void)
{
	uint8_t buf[BLOCK_SIZE * 5] = {0};
		buf[BLOCK_SIZE * 5 / 2] = 1;
	uint64_t offset = 0;
	uint32_t len = BLOCK_SIZE * 5;
	find_zero_blocks(buf, &offset, &len);
	TEST_ASSERT_EQUAL_UINT64(BLOCK_SIZE * 2, offset);
	TEST_ASSERT_EQUAL_UINT32(BLOCK_SIZE, len);
}
Exemple #7
0
static void test_find_zero_blocks_12K_head_zero_zero(void)
{
	uint8_t buf[BLOCK_SIZE * 3] = {0};
		buf[0] = 1;
	uint64_t offset = 0;
	uint32_t len = BLOCK_SIZE * 3;
	find_zero_blocks(buf, &offset, &len);
	TEST_ASSERT_EQUAL_UINT64(0, offset);
	TEST_ASSERT_EQUAL_UINT32(BLOCK_SIZE, len);
}
Exemple #8
0
static void test_find_zero_blocks_8K_zero_tail(void)
{
	uint8_t buf[BLOCK_SIZE * 2] = {0};
		buf[BLOCK_SIZE * 2 - 1] = 1;
	uint64_t offset = 0;
	uint32_t len = BLOCK_SIZE * 2;
	find_zero_blocks(buf, &offset, &len);
	TEST_ASSERT_EQUAL_UINT64(BLOCK_SIZE, offset);
	TEST_ASSERT_EQUAL_UINT32(BLOCK_SIZE, len);
}
Exemple #9
0
static void test_find_zero_blocks_4097_nonzero_at_4096(void)
{
	uint8_t buf[BLOCK_SIZE + 1] = {0};
		buf[BLOCK_SIZE] = 1;
	uint64_t offset = 0;
	uint32_t len = BLOCK_SIZE + 1;
	find_zero_blocks(buf, &offset, &len);
	TEST_ASSERT_EQUAL_UINT64(BLOCK_SIZE, offset);
	TEST_ASSERT_EQUAL_UINT32(1, len);
}
void
test_IfTable_get_ifPhysAddress(void) {
  /* TODO */

  netsnmp_variable_list data = {0};
  void *lctx = NULL;
  void *dctx1 = NULL;
  void *dctx2 = NULL;
  void *dctx3 = NULL;
  size_t ret_len;

  char *ret_val;

  const uint8_t value1[] = VALUE_ifPhysAddress_1;
  const uint8_t value2[] = VALUE_ifPhysAddress_2;

  data.type = ASN_INTEGER;

  ifTable_get_first_data_point(&lctx, &dctx1, &data, NULL);
  ifTable_get_next_data_point(&lctx, &dctx2, &data, NULL);
  ifTable_data_free(dctx2, NULL);
  ifTable_get_next_data_point(&lctx, &dctx3, &data, NULL);
  TEST_ASSERT_NULL(dctx3);
  ifTable_loop_free(lctx, NULL);
  ret_val = get_ifPhysAddress(dctx1, &ret_len);
  TEST_ASSERT_NOT_NULL(ret_val);
  TEST_ASSERT_EQUAL_UINT64(sizeof(value1), ret_len);
  TEST_ASSERT_EQUAL_UINT8_ARRAY(value1, (uint8_t *)ret_val, sizeof(value1));
  ifTable_data_free(dctx1, NULL);
  ifTable_get_first_data_point(&lctx, &dctx1, &data, NULL);
  ifTable_data_free(dctx1, NULL);
  ifTable_get_next_data_point(&lctx, &dctx2, &data, NULL);
  ifTable_get_next_data_point(&lctx, &dctx3, &data, NULL);
  TEST_ASSERT_NULL(dctx3);
  ifTable_loop_free(lctx, NULL);
  ret_val = get_ifPhysAddress(dctx2, &ret_len);
  TEST_ASSERT_NOT_NULL(ret_val);
  TEST_ASSERT_EQUAL_UINT64(sizeof(value2), ret_len);
  TEST_ASSERT_EQUAL_UINT8_ARRAY(value2, (uint8_t *)ret_val, sizeof(value2));
  ifTable_data_free(dctx2, NULL);
}
Exemple #11
0
TEST(checksum, calc_64bit)
{
	uint64_t array[] = {
		0x1111111111111111, 0x2222222222222222, 0x3333333333333333, 0x4444444444444444,
		0x5555555555555555, 0x6666666666666666, 0x7777777777777777, 0x8888888888888888,
		0x9999999999999999, 0xAAAAAAAAAAAAAAAA, 0xBBBBBBBBBBBBBBBB, 0xCCCCCCCCCCCCCCCC,
		0xDDDDDDDDDDDDDDDD, 0xEEEEEEEEEEEEEEEE, 0xFFFFFFFFFFFFFFFF, 0x0000000000000000
	};
	size_t len = sizeof(array) / sizeof(array[0]);
	uint64_t expects = 0xFFFFFFFFFFFFFFF8;  /* 0x7FFFFFFFFFFFFFFF8 */
	TEST_ASSERT_EQUAL_UINT64( expects, checksum_calc_64bit(array, len) );
}
void
test_IfTable_get_ifOperStatus(void) {
  netsnmp_variable_list data = {0};
  void *lctx = NULL;
  void *dctx1 = NULL;
  void *dctx2 = NULL;
  void *dctx3 = NULL;
  size_t ret_len;

  int32_t *ret_val;

  data.type = ASN_INTEGER;

  ifTable_get_first_data_point(&lctx, &dctx1, &data, NULL);
  ifTable_get_next_data_point(&lctx, &dctx2, &data, NULL);
  ifTable_data_free(dctx2, NULL);
  ifTable_get_next_data_point(&lctx, &dctx3, &data, NULL);
  TEST_ASSERT_NULL(dctx3);
  ifTable_loop_free(lctx, NULL);
  ret_val = get_ifOperStatus(dctx1, &ret_len);
  TEST_ASSERT_NOT_NULL(ret_val);
  TEST_ASSERT_EQUAL_INT32(VALUE_ifOperStatus_1, *ret_val);
  TEST_ASSERT_EQUAL_UINT64(sizeof(*ret_val), ret_len);
  ifTable_data_free(dctx1, NULL);
  ifTable_get_first_data_point(&lctx, &dctx1, &data, NULL);
  ifTable_data_free(dctx1, NULL);
  ifTable_get_next_data_point(&lctx, &dctx2, &data, NULL);
  ifTable_get_next_data_point(&lctx, &dctx3, &data, NULL);
  TEST_ASSERT_NULL(dctx3);
  ifTable_loop_free(lctx, NULL);
  ret_val = get_ifOperStatus(dctx2, &ret_len);
  TEST_ASSERT_NOT_NULL(ret_val);
  TEST_ASSERT_EQUAL_INT32(VALUE_ifOperStatus_2, *ret_val);
  TEST_ASSERT_EQUAL_UINT64(sizeof(*ret_val), ret_len);
  ifTable_data_free(dctx2, NULL);
}