[dpdk-dev] [PATCH 25/39] app/test: octeontx simple event enqueue and dequeue test

Jerin Jacob jerin.jacob at caviumnetworks.com
Fri Mar 3 18:28:07 CET 2017


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

Signed-off-by: Jerin Jacob <jerin.jacob at caviumnetworks.com>
---
 app/test/test_eventdev_octeontx.c | 54 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 54 insertions(+)

diff --git a/app/test/test_eventdev_octeontx.c b/app/test/test_eventdev_octeontx.c
index 8a03920..47b029d 100644
--- a/app/test/test_eventdev_octeontx.c
+++ b/app/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



More information about the dev mailing list