app/test: fix unit test for option -n
authorPablo de Lara <pablo.de.lara.guarch@intel.com>
Fri, 6 Nov 2015 15:15:13 +0000 (15:15 +0000)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Fri, 6 Nov 2015 15:32:40 +0000 (16:32 +0100)
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>
app/test/test.c
app/test/test_eal_flags.c

index e8992f4..b94199a 100644 (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 },
index e0aee2d..d9c0d93 100644 (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;
        }