[dpdk-dev] autotests: fix pmd ring

Message ID 1458044729-32694-1-git-send-email-olivier.matz@6wind.com (mailing list archive)
State Accepted, archived
Delegated to: Thomas Monjalon
Headers

Commit Message

Olivier Matz March 15, 2016, 12:25 p.m. UTC
  This test expects that a vdev is instanciated on the command
line. If it's not the case, just skip this part.

Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
---
 app/test/test_pmd_ring.c | 16 +++++++++++++---
 1 file changed, 13 insertions(+), 3 deletions(-)
  

Comments

Thomas Monjalon March 24, 2016, 8:15 p.m. UTC | #1
2016-03-15 13:25, Olivier Matz:
> This test expects that a vdev is instanciated on the command
> line. If it's not the case, just skip this part.
> 
> Signed-off-by: Olivier Matz <olivier.matz@6wind.com>

Applied, thanks
  

Patch

diff --git a/app/test/test_pmd_ring.c b/app/test/test_pmd_ring.c
index 5568759..34fea09 100644
--- a/app/test/test_pmd_ring.c
+++ b/app/test/test_pmd_ring.c
@@ -425,7 +425,7 @@  static int
 test_pmd_ring(void)
 {
 	struct rte_ring *rxtx[NUM_RINGS];
-	int cmdl_port0 = 0;
+	int port, cmdl_port0 = -1;
 	uint8_t nb_ports;
 
 	nb_ports = rte_eth_dev_count();
@@ -501,8 +501,18 @@  test_pmd_ring(void)
 	if (test_pmd_ring_pair_create_attach(rxtx_portd, rxtx_porte) < 0)
 		return -1;
 
-	if (nb_ports > 0) {
-		/* test port 0 created with the --vdev=eth_ring0 command line option */
+	/* find a port created with the --vdev=eth_ring0 command line option */
+	for (port = 0; port < nb_ports; port++) {
+		struct rte_eth_dev_info dev_info;
+
+		rte_eth_dev_info_get(port, &dev_info);
+		if (!strcmp(dev_info.driver_name, "Rings PMD")) {
+			printf("found a command line ring port=%d\n", port);
+			cmdl_port0 = port;
+			break;
+		}
+	}
+	if (cmdl_port0 != -1) {
 		if (test_ethdev_configure_port(cmdl_port0) < 0)
 			return -1;
 		if (test_send_basic_packets_port(cmdl_port0) < 0)