aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorMatias Elo <matias.elo@nokia.com>2023-03-20 12:16:34 +0200
committerMatias Elo <matias.elo@nokia.com>2023-04-12 11:27:12 +0300
commit370b78dd4dca0d0ea6fca49c945d49ed13c93d7c (patch)
tree55efcef8e4d0d706586fe23920414f1e816d888e /test
parentd02d969c1a7f478f5b7c06f14160ff040851c7b8 (diff)
validation: stash: add tests for new per object size capabilities
Test new capabilities for maximum number of object handles per stash for each object size. Signed-off-by: Matias Elo <matias.elo@nokia.com> Reviewed-by: Tuomas Taipale <tuomas.taipale@nokia.com>
Diffstat (limited to 'test')
-rw-r--r--test/validation/api/stash/stash.c48
1 files changed, 38 insertions, 10 deletions
diff --git a/test/validation/api/stash/stash.c b/test/validation/api/stash/stash.c
index b5f498b82..fd4c04577 100644
--- a/test/validation/api/stash/stash.c
+++ b/test/validation/api/stash/stash.c
@@ -7,6 +7,8 @@
#include <odp_api.h>
#include "odp_cunit_common.h"
+#include <string.h>
+
#define MAGIC_U64 0x8b7438fa56c82e96
#define MAGIC_U32 0x74a13b94
#define MAGIC_U16 0x25bf
@@ -111,10 +113,9 @@ static int stash_suite_init(void)
static void stash_capability(void)
{
odp_stash_capability_t capa;
- int ret;
memset(&capa, 0, sizeof(odp_stash_capability_t));
- CU_ASSERT(odp_stash_capability(&capa, ODP_STASH_TYPE_DEFAULT) == 0);
+ CU_ASSERT_FATAL(odp_stash_capability(&capa, ODP_STASH_TYPE_DEFAULT) == 0);
CU_ASSERT(capa.max_stashes_any_type > 0);
CU_ASSERT(capa.max_stashes > 0);
CU_ASSERT(capa.max_num_obj > 0);
@@ -122,16 +123,43 @@ static void stash_capability(void)
CU_ASSERT(capa.max_get_batch >= 1);
CU_ASSERT(capa.max_put_batch >= 1);
+ CU_ASSERT(capa.max_num.u8 >= capa.max_num_obj);
+ CU_ASSERT(capa.max_num.u16 >= capa.max_num_obj);
+ CU_ASSERT(capa.max_num.u32 >= capa.max_num_obj);
+ CU_ASSERT(capa.max_num.max_obj_size >= capa.max_num_obj);
+ if (capa.max_obj_size >= 8)
+ CU_ASSERT(capa.max_num.u64 >= capa.max_num_obj);
+ if (capa.max_obj_size < 8)
+ CU_ASSERT(capa.max_num.u64 == 0);
+ if (capa.max_obj_size >= 16)
+ CU_ASSERT(capa.max_num.u128 >= capa.max_num_obj);
+ if (capa.max_obj_size < 16)
+ CU_ASSERT(capa.max_num.u128 == 0);
+
memset(&capa, 0, sizeof(odp_stash_capability_t));
- ret = odp_stash_capability(&capa, ODP_STASH_TYPE_FIFO);
- CU_ASSERT(ret == 0);
+ CU_ASSERT_FATAL(odp_stash_capability(&capa, ODP_STASH_TYPE_FIFO) == 0);
CU_ASSERT(capa.max_stashes_any_type > 0);
- if (ret == 0 && capa.max_stashes) {
- CU_ASSERT(capa.max_num_obj > 0);
- CU_ASSERT(capa.max_obj_size >= sizeof(uint32_t));
- CU_ASSERT(capa.max_get_batch >= 1);
- CU_ASSERT(capa.max_put_batch >= 1);
- }
+
+ if (capa.max_stashes == 0)
+ return;
+
+ CU_ASSERT(capa.max_num_obj > 0);
+ CU_ASSERT(capa.max_obj_size >= sizeof(uint32_t));
+ CU_ASSERT(capa.max_get_batch >= 1);
+ CU_ASSERT(capa.max_put_batch >= 1);
+
+ CU_ASSERT(capa.max_num.u8 >= capa.max_num_obj);
+ CU_ASSERT(capa.max_num.u16 >= capa.max_num_obj);
+ CU_ASSERT(capa.max_num.u32 >= capa.max_num_obj);
+ CU_ASSERT(capa.max_num.max_obj_size >= capa.max_num_obj);
+ if (capa.max_obj_size >= 8)
+ CU_ASSERT(capa.max_num.u64 >= capa.max_num_obj);
+ if (capa.max_obj_size < 8)
+ CU_ASSERT(capa.max_num.u64 == 0);
+ if (capa.max_obj_size >= 16)
+ CU_ASSERT(capa.max_num.u128 >= capa.max_num_obj);
+ if (capa.max_obj_size < 16)
+ CU_ASSERT(capa.max_num.u128 == 0);
}
static void param_defaults(uint8_t fill)