app/test: fix unit test for option -n

eal_flags_autotest was broken after commit
19bfa4dd ("eal: make the -n argument optional"),
since the unit test was checking that app would not run
if -n flag was missing, which now it is possible.

Also, subtest test_missing_n_flag() has been renamed
to test_invalid_n_flag(), as now -n flag is not compulsory.

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
This commit is contained in:
Pablo de Lara 2015-11-06 15:15:13 +00:00 committed by Thomas Monjalon
parent c4d404d7c1
commit 1e0b51fd4b
2 changed files with 20 additions and 15 deletions

View File

@ -81,7 +81,7 @@ do_recursive_call(void)
{ "run_secondary_instances", test_mp_secondary },
{ "test_missing_c_flag", no_action },
{ "test_master_lcore_flag", no_action },
{ "test_missing_n_flag", no_action },
{ "test_invalid_n_flag", no_action },
{ "test_no_hpet_flag", no_action },
{ "test_whitelist_flag", no_action },
{ "test_invalid_b_flag", no_action },

View File

@ -674,13 +674,13 @@ test_master_lcore_flag(void)
}
/*
* Test that the app doesn't run without the -n flag. In all cases
* should give an error and fail to run.
* Test that the app doesn't run with invalid -n flag option.
* Final test ensures it does run with valid options as sanity check
* Since -n is not compulsory for MP, we instead use --no-huge and --no-shconf
* flags.
*/
static int
test_missing_n_flag(void)
test_invalid_n_flag(void)
{
#ifdef RTE_EXEC_ENV_BSDAPP
/* BSD target doesn't support prefixes at this point */
@ -696,26 +696,31 @@ test_missing_n_flag(void)
/* -n flag but no value */
const char *argv1[] = { prgname, prefix, no_huge, no_shconf, "-c", "1", "-n"};
/* No -n flag at all */
const char *argv2[] = { prgname, prefix, no_huge, no_shconf, "-c", "1"};
/* bad numeric value */
const char *argv3[] = { prgname, prefix, no_huge, no_shconf, "-c", "1", "-n", "e" };
const char *argv2[] = { prgname, prefix, no_huge, no_shconf, "-c", "1", "-n", "e" };
/* out-of-range value */
const char *argv4[] = { prgname, prefix, no_huge, no_shconf, "-c", "1", "-n", "9" };
const char *argv3[] = { prgname, prefix, no_huge, no_shconf, "-c", "1", "-n", "9" };
/* sanity test - check with good value */
const char *argv5[] = { prgname, prefix, no_huge, no_shconf, "-c", "1", "-n", "2" };
const char *argv4[] = { prgname, prefix, no_huge, no_shconf, "-c", "1", "-n", "2" };
/* sanity test - check with no -n flag */
const char *argv5[] = { prgname, prefix, no_huge, no_shconf, "-c", "1"};
if (launch_proc(argv1) == 0
|| launch_proc(argv2) == 0
|| launch_proc(argv3) == 0
|| launch_proc(argv4) == 0) {
printf("Error - process ran without error when missing -n flag\n");
|| launch_proc(argv3) == 0) {
printf("Error - process ran without error when"
"invalid -n flag\n");
return -1;
}
if (launch_proc(argv5) != 0) {
if (launch_proc(argv4) != 0) {
printf("Error - process did not run ok with valid num-channel value\n");
return -1;
}
if (launch_proc(argv5) != 0) {
printf("Error - process did not run ok without -n flag\n");
return -1;
}
return 0;
}
@ -1368,9 +1373,9 @@ test_eal_flags(void)
return ret;
}
ret = test_missing_n_flag();
ret = test_invalid_n_flag();
if (ret < 0) {
printf("Error in test_missing_n_flag()\n");
printf("Error in test_invalid_n_flag()\n");
return ret;
}