From 0d684a7830883ba4f316ea44cbedbce3a4a7a94d Mon Sep 17 00:00:00 2001 From: Pablo de Lara Date: Tue, 1 Jul 2014 17:13:57 +0100 Subject: [PATCH] app/test: fix and separate --vdev unit test 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. Signed-off-by: Pablo de Lara Acked-by: Thomas Monjalon --- 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 516829d3af..a41e43d790 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 1b80b8054b..729d4eefea 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"); -- 2.20.1