DPDK patches and discussions
 help / color / mirror / Atom feed
* [PATCH] test/graph: fix graph autotest second test failure
@ 2024-10-22 11:28 Huichao cai
  2024-10-22 13:38 ` [EXTERNAL] " Kiran Kumar Kokkilagadda
  0 siblings, 1 reply; 4+ messages in thread
From: Huichao cai @ 2024-10-22 11:28 UTC (permalink / raw)
  To: jerinj, kirankumark, ndabilpuram, yanzhirun_163; +Cc: dev

Start dpdk-test, execute the graph_autotest test command for
the first time, the result is successful, and then test again,
the result is always failing, modify this problem to make this
test command idempotent.

Signed-off-by: Huichao cai <chcchc88@163.com>
---
 app/test/test_graph.c | 21 ++++++++++++---------
 1 file changed, 12 insertions(+), 9 deletions(-)

diff --git a/app/test/test_graph.c b/app/test/test_graph.c
index 2840a25..16a1a90 100644
--- a/app/test/test_graph.c
+++ b/app/test/test_graph.c
@@ -552,7 +552,7 @@ struct test_node_register {
 	tm->test_node[0].idx = node_id;
 
 	dummy_id = rte_node_clone(node_id, "test_node00");
-	if (rte_node_is_invalid(dummy_id)) {
+	if (rte_node_is_invalid(dummy_id) && (rte_errno != EEXIST)) {
 		printf("Got invalid id when clone, Expecting fail\n");
 		return -1;
 	}
@@ -565,12 +565,14 @@ struct test_node_register {
 	}
 
 	for (i = 1; i < MAX_NODES; i++) {
-		tm->test_node[i].idx =
-			rte_node_clone(node_id, tm->test_node[i].node.name);
-		if (rte_node_is_invalid(tm->test_node[i].idx)) {
+		dummy_id = rte_node_clone(node_id, tm->test_node[i].node.name);
+		if (rte_node_is_invalid(dummy_id) && (rte_errno != EEXIST)) {
 			printf("Got invalid node id\n");
 			return -1;
 		}
+
+		if (!rte_node_is_invalid(dummy_id))
+			tm->test_node[i].idx = dummy_id;
 	}
 
 	/* Clone from cloned node should fail */
@@ -640,7 +642,7 @@ struct test_node_register {
 
 	node_id = rte_node_from_name("test_node00");
 	dummy_node_id = rte_node_clone(node_id, "dummy_node");
-	if (rte_node_is_invalid(dummy_node_id)) {
+	if (rte_node_is_invalid(dummy_node_id) && (rte_errno != EEXIST)) {
 		printf("Got invalid node id\n");
 		return -1;
 	}
@@ -672,7 +674,7 @@ struct test_node_register {
 	main_graph_id = rte_graph_from_name("worker0");
 	if (main_graph_id == RTE_GRAPH_ID_INVALID) {
 		printf("Must create main graph first\n");
-		ret = -1;
+		return -1;
 	}
 
 	graph_conf.dispatch.mp_capacity = 1024;
@@ -682,7 +684,7 @@ struct test_node_register {
 
 	if (cloned_graph_id == RTE_GRAPH_ID_INVALID) {
 		printf("Graph creation failed with error = %d\n", rte_errno);
-		ret = -1;
+		return -1;
 	}
 
 	if (strcmp(rte_graph_id_to_name(cloned_graph_id), "worker0-cloned-test0")) {
@@ -787,7 +789,7 @@ struct test_node_register {
 	cloned_graph_id = rte_graph_clone(graph_id, "cloned-test1", &graph_conf);
 	node = rte_graph_node_get(cloned_graph_id, nid);
 
-	if (node->dispatch.lcore_id != worker_lcore) {
+	if (!node || node->dispatch.lcore_id != worker_lcore) {
 		printf("set node affinity failed\n");
 		ret = -1;
 	}
@@ -859,7 +861,8 @@ struct test_node_register {
 	}
 
 	graph = rte_graph_lookup("worker0-cloned-test3");
-	if (rte_graph_worker_model_get(graph) != RTE_GRAPH_MODEL_MCORE_DISPATCH) {
+	if (!graph || rte_graph_worker_model_get(graph) !=
+		    RTE_GRAPH_MODEL_MCORE_DISPATCH) {
 		printf("Get graph worker model failed\n");
 		ret = -1;
 	}
-- 
1.8.3.1


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2024-10-23 12:43 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-10-22 11:28 [PATCH] test/graph: fix graph autotest second test failure Huichao cai
2024-10-22 13:38 ` [EXTERNAL] " Kiran Kumar Kokkilagadda
2024-10-23  2:44   ` Huichao Cai
2024-10-23 12:42     ` Kiran Kumar Kokkilagadda

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).