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 <pablo.de.lara.guarch@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
This commit is contained in:
Pablo de Lara 2014-07-01 17:13:57 +01:00 committed by Thomas Monjalon
parent 8d96453813
commit 0d684a7830
2 changed files with 55 additions and 3 deletions

View File

@ -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 },

View File

@ -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");