aboutsummaryrefslogtreecommitdiff
path: root/test/validation/api/pool/pool.c
diff options
context:
space:
mode:
Diffstat (limited to 'test/validation/api/pool/pool.c')
-rw-r--r--test/validation/api/pool/pool.c98
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(&param, fill, sizeof(param));
odp_pool_param_init(&param);
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(&param);
+
+ param.type = ODP_POOL_BUFFER;
+ param.buf.size = BUF_SIZE;
+ param.buf.num = BUF_NUM;
+
+ pool_test_same_name(&param);
+}
+
+static void pool_test_same_name_pkt(void)
+{
+ odp_pool_param_t param;
+
+ odp_pool_param_init(&param);
+
+ param.type = ODP_POOL_PACKET;
+ param.pkt.len = PKT_LEN;
+ param.pkt.num = PKT_NUM;
+
+ pool_test_same_name(&param);
+}
+
+static void pool_test_same_name_tmo(void)
+{
+ odp_pool_param_t param;
+
+ odp_pool_param_init(&param);
+
+ param.type = ODP_POOL_TIMEOUT;
+ param.tmo.num = TMO_NUM;
+
+ pool_test_same_name(&param);
+}
+
+static void pool_test_same_name_vec(void)
+{
+ odp_pool_param_t param;
+
+ odp_pool_param_init(&param);
+
+ param.type = ODP_POOL_VECTOR;
+ param.vector.num = 10;
+ param.vector.max_size = 2;
+
+ pool_test_same_name(&param);
+}
+
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(&param, fill, sizeof(param));
odp_pool_ext_param_init(ODP_POOL_PACKET, &param);
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),