aboutsummaryrefslogtreecommitdiff
path: root/test/validation/api/queue/queue.c
diff options
context:
space:
mode:
authorJanne Peltonen <janne.peltonen@nokia.com>2022-05-25 17:30:14 +0300
committerPetri Savolainen <petri.savolainen@nokia.com>2022-05-30 16:47:55 +0300
commit1e3ee7e738c1a0c428d09bb25b83d5002dbfc53b (patch)
tree606d3fa18496be740d93317158cb5886b67234d9 /test/validation/api/queue/queue.c
parent7b3085a0880cd247e96800c004f8617c53ef5f36 (diff)
validation: improve testing of default values set by init functions
Improve testing of the default values set by various init functions by checking the defaults twice: once after memsetting the to-be-initialized structure to zero before the init call and once after memsetting to 0xff. This way missing initialization can always be detected. Signed-off-by: Janne Peltonen <janne.peltonen@nokia.com> Reviewed-by: Tuomas Taipale <tuomas.taipale@nokia.com>
Diffstat (limited to 'test/validation/api/queue/queue.c')
-rw-r--r--test/validation/api/queue/queue.c42
1 files changed, 28 insertions, 14 deletions
diff --git a/test/validation/api/queue/queue.c b/test/validation/api/queue/queue.c
index ec6863628..ff97cdf63 100644
--- a/test/validation/api/queue/queue.c
+++ b/test/validation/api/queue/queue.c
@@ -1,5 +1,5 @@
/* Copyright (c) 2014-2018, Linaro Limited
- * Copyright (c) 2021, Nokia
+ * Copyright (c) 2021-2022, Nokia
* All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
@@ -134,6 +134,32 @@ static void queue_test_capa(void)
CU_ASSERT(capa.max_queues >= capa.plain.waitfree.max_num);
}
+static void test_defaults(uint8_t fill)
+{
+ odp_queue_param_t param;
+
+ memset(&param, fill, sizeof(param));
+ odp_queue_param_init(&param);
+ CU_ASSERT(param.type == ODP_QUEUE_TYPE_PLAIN);
+ CU_ASSERT(param.enq_mode == ODP_QUEUE_OP_MT);
+ CU_ASSERT(param.deq_mode == ODP_QUEUE_OP_MT);
+ CU_ASSERT(param.sched.prio == odp_schedule_default_prio());
+ CU_ASSERT(param.sched.sync == ODP_SCHED_SYNC_PARALLEL);
+ CU_ASSERT(param.sched.group == ODP_SCHED_GROUP_ALL);
+ CU_ASSERT(param.sched.lock_count == 0);
+ CU_ASSERT(param.order == ODP_QUEUE_ORDER_KEEP);
+ CU_ASSERT(param.nonblocking == ODP_BLOCKING);
+ CU_ASSERT(param.context == NULL);
+ CU_ASSERT(param.context_len == 0);
+ CU_ASSERT(param.size == 0);
+}
+
+static void queue_test_param_init(void)
+{
+ test_defaults(0);
+ test_defaults(0xff);
+}
+
static void queue_test_max_plain(void)
{
odp_queue_capability_t capa;
@@ -607,20 +633,7 @@ static void queue_test_param(void)
odp_queue_param_t qparams;
odp_buffer_t enbuf;
- /* Defaults */
odp_queue_param_init(&qparams);
- CU_ASSERT(qparams.type == ODP_QUEUE_TYPE_PLAIN);
- CU_ASSERT(qparams.enq_mode == ODP_QUEUE_OP_MT);
- CU_ASSERT(qparams.deq_mode == ODP_QUEUE_OP_MT);
- CU_ASSERT(qparams.sched.prio == odp_schedule_default_prio());
- CU_ASSERT(qparams.sched.sync == ODP_SCHED_SYNC_PARALLEL);
- CU_ASSERT(qparams.sched.group == ODP_SCHED_GROUP_ALL);
- CU_ASSERT(qparams.sched.lock_count == 0);
- CU_ASSERT(qparams.order == ODP_QUEUE_ORDER_KEEP);
- CU_ASSERT(qparams.nonblocking == ODP_BLOCKING);
- CU_ASSERT(qparams.context == NULL);
- CU_ASSERT(qparams.context_len == 0);
- CU_ASSERT(qparams.size == 0);
/* Schedule type queue */
qparams.type = ODP_QUEUE_TYPE_SCHED;
@@ -985,6 +998,7 @@ static void queue_test_mt_plain_nonblock_lf(void)
odp_testinfo_t queue_suite[] = {
ODP_TEST_INFO(queue_test_capa),
+ ODP_TEST_INFO(queue_test_param_init),
ODP_TEST_INFO(queue_test_mode),
ODP_TEST_INFO(queue_test_max_plain),
ODP_TEST_INFO(queue_test_burst),