From mboxrd@z Thu Jan 1 00:00:00 1970 From: Pablo de Lara Subject: [PATCH] app/test: fix and separate vdev test in test_eal_flags Date: Tue, 1 Jul 2014 17:13:57 +0100 Message-ID: <1404231237-10657-1-git-send-email-pablox.de.lara.guarch@intel.com> To: dev-VfR2kkLFssw@public.gmane.org Return-path: List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces-VfR2kkLFssw@public.gmane.org Sender: "dev" From: Pablo de Lara 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 --- 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