Added unit test case to verify simple event enqueue and dequeue
operation with different schedule types

Signed-off-by: Jerin Jacob <jerin.ja...@caviumnetworks.com>
Acked-by: Harry van Haaren <harry.van.haa...@intel.com>
---
 test/test/test_eventdev_octeontx.c | 54 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 54 insertions(+)

diff --git a/test/test/test_eventdev_octeontx.c 
b/test/test/test_eventdev_octeontx.c
index 412944d..c1cad65 100644
--- a/test/test/test_eventdev_octeontx.c
+++ b/test/test/test_eventdev_octeontx.c
@@ -407,10 +407,64 @@ consume_events(uint8_t port, const uint32_t total_events, 
validate_event_cb fn)
        return check_excess_events(port);
 }
 
+static int
+validate_simple_enqdeq(uint32_t index, uint8_t port, struct rte_event *ev)
+{
+       RTE_SET_USED(port);
+       TEST_ASSERT_EQUAL(index, ev->mbuf->seqn, "index=%d != seqn=%d", index,
+                                       ev->mbuf->seqn);
+       return 0;
+}
+
+static inline int
+test_simple_enqdeq(uint8_t sched_type)
+{
+       int ret;
+
+       ret = inject_events(0 /*flow_id */,
+                               RTE_EVENT_TYPE_CPU /* event_type */,
+                               0 /* sub_event_type */,
+                               sched_type,
+                               0 /* queue */,
+                               0 /* port */,
+                               MAX_EVENTS);
+       if (ret)
+               return TEST_FAILED;
+
+       return consume_events(0 /* port */, MAX_EVENTS, validate_simple_enqdeq);
+}
+
+static int
+test_simple_enqdeq_ordered(void)
+{
+       return test_simple_enqdeq(RTE_SCHED_TYPE_ORDERED);
+}
+
+static int
+test_simple_enqdeq_atomic(void)
+{
+       return test_simple_enqdeq(RTE_SCHED_TYPE_ATOMIC);
+}
+
+static int
+test_simple_enqdeq_parallel(void)
+{
+       return test_simple_enqdeq(RTE_SCHED_TYPE_PARALLEL);
+}
+
 static struct unit_test_suite eventdev_octeontx_testsuite  = {
        .suite_name = "eventdev octeontx unit test suite",
        .setup = testsuite_setup,
        .teardown = testsuite_teardown,
+       .unit_test_cases = {
+               TEST_CASE_ST(eventdev_setup, eventdev_teardown,
+                       test_simple_enqdeq_ordered),
+               TEST_CASE_ST(eventdev_setup, eventdev_teardown,
+                       test_simple_enqdeq_atomic),
+               TEST_CASE_ST(eventdev_setup, eventdev_teardown,
+                       test_simple_enqdeq_parallel),
+               TEST_CASES_END() /**< NULL terminate unit test array */
+       }
 };
 
 static int
-- 
2.5.5

Reply via email to