From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <pdelarax@ecsmtp.ir.intel.com>
Received: from mga02.intel.com (mga02.intel.com [134.134.136.20])
 by dpdk.org (Postfix) with ESMTP id 619C6333
 for <dev@dpdk.org>; Tue,  1 Jul 2014 18:14:38 +0200 (CEST)
Received: from orsmga001.jf.intel.com ([10.7.209.18])
 by orsmga101.jf.intel.com with ESMTP; 01 Jul 2014 09:14:57 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="5.01,582,1400050800"; d="scan'208";a="537244484"
Received: from irvmail001.ir.intel.com ([163.33.26.43])
 by orsmga001.jf.intel.com with ESMTP; 01 Jul 2014 09:13:58 -0700
Received: from sivswdev02.ir.intel.com (sivswdev02.ir.intel.com
 [10.237.217.46])
 by irvmail001.ir.intel.com (8.14.3/8.13.6/MailSET/Hub) with ESMTP id
 s61GDvEF031957; Tue, 1 Jul 2014 17:13:58 +0100
Received: from sivswdev02.ir.intel.com (localhost [127.0.0.1])
 by sivswdev02.ir.intel.com with ESMTP id s61GDvEX010727;
 Tue, 1 Jul 2014 17:13:57 +0100
Received: (from pdelarax@localhost)
 by sivswdev02.ir.intel.com with  id s61GDvQr010723;
 Tue, 1 Jul 2014 17:13:57 +0100
From: Pablo de Lara <pablox.de.lara.guarch@intel.com>
To: dev@dpdk.org
Date: Tue,  1 Jul 2014 17:13:57 +0100
Message-Id: <1404231237-10657-1-git-send-email-pablox.de.lara.guarch@intel.com>
X-Mailer: git-send-email 1.7.0.7
Subject: [dpdk-dev] [PATCH] app/test: fix and separate vdev test in
	test_eal_flags
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: patches and discussions about DPDK <dev.dpdk.org>
List-Unsubscribe: <http://dpdk.org/ml/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://dpdk.org/ml/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <http://dpdk.org/ml/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Tue, 01 Jul 2014 16:14:38 -0000

From: Pablo de Lara <pablo.de.lara.guarch@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@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