[dpdk-dev,25/39] app/test: octeontx simple event enqueue and dequeue test
Checks
Commit Message
Added unit test case to verify simple event enqueue and dequeue
operation with different schedule types
Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
---
app/test/test_eventdev_octeontx.c | 54 +++++++++++++++++++++++++++++++++++++++
1 file changed, 54 insertions(+)
Comments
> From: Jerin Jacob [mailto:jerin.jacob@caviumnetworks.com]
> Sent: Friday, March 3, 2017 5:28 PM
> To: dev@dpdk.org
> Cc: thomas.monjalon@6wind.com; Richardson, Bruce <bruce.richardson@intel.com>; Van Haaren,
> Harry <harry.van.haaren@intel.com>; hemant.agrawal@nxp.com; Eads, Gage <gage.eads@intel.com>;
> nipun.gupta@nxp.com; santosh.shukla@caviumnetworks.com; Jerin Jacob
> <jerin.jacob@caviumnetworks.com>
> Subject: [dpdk-dev] [PATCH 25/39] app/test: octeontx simple event enqueue and dequeue test
>
> Added unit test case to verify simple event enqueue and dequeue
> operation with different schedule types
>
> Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
@@ -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