diff options
Diffstat (limited to 'test/validation/api/pool/pool.c')
-rw-r--r-- | test/validation/api/pool/pool.c | 98 |
1 files changed, 94 insertions, 4 deletions
diff --git a/test/validation/api/pool/pool.c b/test/validation/api/pool/pool.c index 8dad89d81..3befe4939 100644 --- a/test/validation/api/pool/pool.c +++ b/test/validation/api/pool/pool.c @@ -42,10 +42,11 @@ static odp_pool_capability_t global_pool_capa; static odp_pool_param_t default_pool_param; static odp_pool_ext_capability_t global_pool_ext_capa; -static void pool_test_param_init(void) +static void test_param_init(uint8_t fill) { odp_pool_param_t param; + memset(¶m, fill, sizeof(param)); odp_pool_param_init(¶m); CU_ASSERT(param.buf.cache_size >= global_pool_capa.buf.min_cache_size && @@ -63,6 +64,12 @@ static void pool_test_param_init(void) param.vector.cache_size <= global_pool_capa.vector.max_cache_size); } +static void pool_test_param_init(void) +{ + test_param_init(0); + test_param_init(0xff); +} + static void pool_create_destroy(odp_pool_param_t *param) { odp_pool_t pool; @@ -166,6 +173,79 @@ static void pool_test_lookup_info_print(void) CU_ASSERT(odp_pool_destroy(pool) == 0); } +static void pool_test_same_name(const odp_pool_param_t *param) +{ + odp_pool_t pool, pool_a, pool_b; + const char *name = "same_name"; + + pool_a = odp_pool_create(name, param); + CU_ASSERT_FATAL(pool_a != ODP_POOL_INVALID); + + pool = odp_pool_lookup(name); + CU_ASSERT(pool == pool_a); + + /* Second pool with the same name */ + pool_b = odp_pool_create(name, param); + CU_ASSERT_FATAL(pool_b != ODP_POOL_INVALID); + + pool = odp_pool_lookup(name); + CU_ASSERT(pool == pool_a || pool == pool_b); + + CU_ASSERT(odp_pool_destroy(pool_a) == 0); + CU_ASSERT(odp_pool_destroy(pool_b) == 0); +} + +static void pool_test_same_name_buf(void) +{ + odp_pool_param_t param; + + odp_pool_param_init(¶m); + + param.type = ODP_POOL_BUFFER; + param.buf.size = BUF_SIZE; + param.buf.num = BUF_NUM; + + pool_test_same_name(¶m); +} + +static void pool_test_same_name_pkt(void) +{ + odp_pool_param_t param; + + odp_pool_param_init(¶m); + + param.type = ODP_POOL_PACKET; + param.pkt.len = PKT_LEN; + param.pkt.num = PKT_NUM; + + pool_test_same_name(¶m); +} + +static void pool_test_same_name_tmo(void) +{ + odp_pool_param_t param; + + odp_pool_param_init(¶m); + + param.type = ODP_POOL_TIMEOUT; + param.tmo.num = TMO_NUM; + + pool_test_same_name(¶m); +} + +static void pool_test_same_name_vec(void) +{ + odp_pool_param_t param; + + odp_pool_param_init(¶m); + + param.type = ODP_POOL_VECTOR; + param.vector.num = 10; + param.vector.max_size = 2; + + pool_test_same_name(¶m); +} + static void alloc_buffer(uint32_t cache_size) { odp_pool_t pool; @@ -1291,13 +1371,13 @@ static void test_packet_pool_ext_capa(void) CU_ASSERT(capa.pkt.max_headroom_size > 0); CU_ASSERT(capa.pkt.max_headroom_size >= capa.pkt.max_headroom); CU_ASSERT(capa.pkt.max_segs_per_pkt > 0); - CU_ASSERT(capa.pkt.max_uarea_size > 0); } -static void test_packet_pool_ext_param_init(void) +static void test_ext_param_init(uint8_t fill) { odp_pool_ext_param_t param; + memset(¶m, fill, sizeof(param)); odp_pool_ext_param_init(ODP_POOL_PACKET, ¶m); CU_ASSERT(param.type == ODP_POOL_PACKET); @@ -1308,6 +1388,12 @@ static void test_packet_pool_ext_param_init(void) CU_ASSERT(param.pkt.uarea_size == 0); } +static void test_packet_pool_ext_param_init(void) +{ + test_ext_param_init(0); + test_ext_param_init(0xff); +} + static void test_packet_pool_ext_create(void) { odp_pool_t pool; @@ -1763,6 +1849,11 @@ odp_testinfo_t pool_suite[] = { ODP_TEST_INFO(pool_test_create_destroy_packet), ODP_TEST_INFO(pool_test_create_destroy_timeout), ODP_TEST_INFO(pool_test_create_destroy_vector), + ODP_TEST_INFO(pool_test_lookup_info_print), + ODP_TEST_INFO(pool_test_same_name_buf), + ODP_TEST_INFO(pool_test_same_name_pkt), + ODP_TEST_INFO(pool_test_same_name_tmo), + ODP_TEST_INFO(pool_test_same_name_vec), ODP_TEST_INFO(pool_test_alloc_buffer), ODP_TEST_INFO(pool_test_alloc_buffer_min_cache), ODP_TEST_INFO(pool_test_alloc_buffer_max_cache), @@ -1777,7 +1868,6 @@ odp_testinfo_t pool_suite[] = { ODP_TEST_INFO(pool_test_alloc_timeout_min_cache), ODP_TEST_INFO(pool_test_alloc_timeout_max_cache), ODP_TEST_INFO(pool_test_info_packet), - ODP_TEST_INFO(pool_test_lookup_info_print), ODP_TEST_INFO(pool_test_info_data_range), ODP_TEST_INFO(pool_test_buf_max_num), ODP_TEST_INFO(pool_test_pkt_max_num), |