app/test: convert all tests to register system
[dpdk.git] / app / test / test_eal_flags.c
index 1b80b80..2d81764 100644 (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.
@@ -1160,7 +1204,7 @@ test_memory_flags(void)
        return 0;
 }
 
-int
+static int
 test_eal_flags(void)
 {
        int ret = 0;
@@ -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");
@@ -1232,15 +1283,9 @@ test_eal_flags(void)
        return ret;
 }
 
-#else
-/* Baremetal version
- * Multiprocess not applicable, so just return 0 always
- */
-int
-test_eal_flags(void)
-{
-       printf("Multi-process not possible for baremetal, cannot test EAL flags\n");
-       return 0;
-}
-
+static struct test_command eal_flags_cmd = {
+       .command = "eal_flags_autotest",
+       .callback = test_eal_flags,
+};
+REGISTER_TEST_COMMAND(eal_flags_cmd);
 #endif