[dpdk-dev] [PATCH] app/test: fix and separate vdev test in test_eal_flags

Pablo de Lara pablox.de.lara.guarch at intel.com
Tue Jul 1 18:13:57 CEST 2014


From: Pablo de Lara <pablo.de.lara.guarch at intel.com>

In EAL flags unit test, vdev test was being included
(and broken) in whitelist test. It has been separated
in different test and fixed, by calling another
primary process, instead of a secondary one.

Patch "app/test: fix build switches to enable cmdline tests"
from Thomas Monjalon is needed for this patch.

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch at intel.com>
---
 app/test/test.c           |    1 +
 app/test/test_eal_flags.c |   57 ++++++++++++++++++++++++++++++++++++++++++--
 2 files changed, 55 insertions(+), 3 deletions(-)

diff --git a/app/test/test.c b/app/test/test.c
index 516829d..a41e43d 100644
--- a/app/test/test.c
+++ b/app/test/test.c
@@ -86,6 +86,7 @@ do_recursive_call(void)
 			{ "test_no_hpet_flag", no_action },
 			{ "test_whitelist_flag", no_action },
 			{ "test_invalid_b_flag", no_action },
+			{ "test_invalid_vdev_flag", no_action },
 			{ "test_invalid_r_flag", no_action },
 #ifdef RTE_LIBRTE_XEN_DOM0
 			{ "test_dom0_misc_flags", no_action },
diff --git a/app/test/test_eal_flags.c b/app/test/test_eal_flags.c
index 1b80b80..729d4ee 100644
--- a/app/test/test_eal_flags.c
+++ b/app/test/test_eal_flags.c
@@ -317,9 +317,6 @@ test_whitelist_flag(void)
 	const char *wlval3[] = {prgname, prefix, mp_flag, "-n", "1", "-c", "1",
 			pci_whitelist, "09:0B.3,type=test",
 			pci_whitelist, "08:00.1,type=normal",
-#ifdef RTE_LIBRTE_PMD_RING
-			vdev, "eth_ring,arg=test",
-#endif
 	};
 
 	for (i = 0; i < sizeof(wlinval) / sizeof(wlinval[0]); i++) {
@@ -391,6 +388,53 @@ test_invalid_b_flag(void)
 	return 0;
 }
 
+/*
+ *  Test that the app doesn't run with invalid vdev option.
+ *  Final test ensures it does run with valid options as sanity check
+ */
+#ifdef RTE_LIBRTE_PMD_RING
+static int
+test_invalid_vdev_flag(void)
+{
+	/* Test with invalid vdev option */
+	const char *vdevinval[] = {prgname, "--file-prefix=vdev","-n", "1",
+				"-c", "1", vdev, "eth_dummy"};
+
+	/* Test with valid vdev option */
+	const char *vdevval1[] = {prgname, "--file-prefix=vdev", "-n", "1",
+	"-c", "1", vdev, "eth_ring0"};
+
+	const char *vdevval2[] = {prgname, "--file-prefix=vdev", "-n", "1",
+	"-c", "1", vdev, "eth_ring0,args=test"};
+
+	const char *vdevval3[] = {prgname, "--file-prefix=vdev", "-n", "1",
+	"-c", "1", vdev, "eth_ring0,nodeaction=r1:0:CREATE"};
+
+	if (launch_proc(vdevinval) == 0) {
+		printf("Error - process did run ok with invalid "
+			"vdev parameter\n");
+		return -1;
+	}
+
+	if (launch_proc(vdevval1) != 0) {
+		printf("Error - process did not run ok with valid vdev value\n");
+		return -1;
+	}
+
+	if (launch_proc(vdevval2) != 0) {
+		printf("Error - process did not run ok with valid vdev value,"
+			"with dummy args\n");
+		return -1;
+	}
+
+	if (launch_proc(vdevval3) != 0) {
+		printf("Error - process did not run ok with valid vdev value,"
+			"with valid args\n");
+		return -1;
+	}
+	return 0;
+}
+#endif
 
 /*
  * Test that the app doesn't run with invalid -r option.
@@ -1201,6 +1245,13 @@ test_eal_flags(void)
 		return ret;
 	}
 
+#ifdef RTE_LIBRTE_PMD_RING
+	ret = test_invalid_vdev_flag();
+	if (ret < 0) {
+		printf("Error in test_invalid_vdev_flag()\n");
+		return ret;
+	}
+#endif
 	ret = test_invalid_r_flag();
 	if (ret < 0) {
 		printf("Error in test_invalid_r_flag()\n");
-- 
1.7.0.7



More information about the dev mailing list