Merge tag 'v2022.04-rc5' into next
[platform/kernel/u-boot.git] / test / cmd_ut.c
index 2781f8b..90b260f 100644 (file)
@@ -6,37 +6,29 @@
 
 #include <common.h>
 #include <command.h>
+#include <console.h>
 #include <test/suites.h>
 #include <test/test.h>
+#include <test/ut.h>
 
-static int do_ut_all(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]);
+static int do_ut_all(struct cmd_tbl *cmdtp, int flag, int argc,
+                    char *const argv[]);
 
-int cmd_ut_category(const char *name, struct unit_test *tests, int n_ents,
-                   int argc, char * const argv[])
+int cmd_ut_category(const char *name, const char *prefix,
+                   struct unit_test *tests, int n_ents,
+                   int argc, char *const argv[])
 {
-       struct unit_test_state uts = { .fail_count = 0 };
-       struct unit_test *test;
+       int ret;
 
-       if (argc == 1)
-               printf("Running %d %s tests\n", n_ents, name);
+       ret = ut_run_list(name, prefix, tests, n_ents,
+                         argc > 1 ? argv[1] : NULL);
 
-       for (test = tests; test < tests + n_ents; test++) {
-               if (argc > 1 && strcmp(argv[1], test->name))
-                       continue;
-               printf("Test: %s\n", test->name);
-
-               uts.start = mallinfo();
-
-               test->func(&uts);
-       }
-
-       printf("Failures: %d\n", uts.fail_count);
-
-       return uts.fail_count ? CMD_RET_FAILURE : 0;
+       return ret ? CMD_RET_FAILURE : 0;
 }
 
-static cmd_tbl_t cmd_ut_sub[] = {
+static struct cmd_tbl cmd_ut_sub[] = {
        U_BOOT_CMD_MKENT(all, CONFIG_SYS_MAXARGS, 1, do_ut_all, "", ""),
+       U_BOOT_CMD_MKENT(common, CONFIG_SYS_MAXARGS, 1, do_ut_common, "", ""),
 #if defined(CONFIG_UT_DM)
        U_BOOT_CMD_MKENT(dm, CONFIG_SYS_MAXARGS, 1, do_ut_dm, "", ""),
 #endif
@@ -52,6 +44,15 @@ static cmd_tbl_t cmd_ut_sub[] = {
 #ifdef CONFIG_UT_LIB
        U_BOOT_CMD_MKENT(lib, CONFIG_SYS_MAXARGS, 1, do_ut_lib, "", ""),
 #endif
+#ifdef CONFIG_UT_LOG
+       U_BOOT_CMD_MKENT(log, CONFIG_SYS_MAXARGS, 1, do_ut_log, "", ""),
+#endif
+       U_BOOT_CMD_MKENT(mem, CONFIG_SYS_MAXARGS, 1, do_ut_mem, "", ""),
+#ifdef CONFIG_CMD_SETEXPR
+       U_BOOT_CMD_MKENT(setexpr, CONFIG_SYS_MAXARGS, 1, do_ut_setexpr, "",
+                        ""),
+#endif
+       U_BOOT_CMD_MKENT(print, CONFIG_SYS_MAXARGS, 1, do_ut_print, "", ""),
 #ifdef CONFIG_UT_TIME
        U_BOOT_CMD_MKENT(time, CONFIG_SYS_MAXARGS, 1, do_ut_time, "", ""),
 #endif
@@ -63,10 +64,16 @@ static cmd_tbl_t cmd_ut_sub[] = {
                         "", ""),
        U_BOOT_CMD_MKENT(bloblist, CONFIG_SYS_MAXARGS, 1, do_ut_bloblist,
                         "", ""),
+       U_BOOT_CMD_MKENT(bootm, CONFIG_SYS_MAXARGS, 1, do_ut_bootm, "", ""),
+#endif
+       U_BOOT_CMD_MKENT(str, CONFIG_SYS_MAXARGS, 1, do_ut_str, "", ""),
+#ifdef CONFIG_CMD_ADDRMAP
+       U_BOOT_CMD_MKENT(addrmap, CONFIG_SYS_MAXARGS, 1, do_ut_addrmap, "", ""),
 #endif
 };
 
-static int do_ut_all(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
+static int do_ut_all(struct cmd_tbl *cmdtp, int flag, int argc,
+                    char *const argv[])
 {
        int i;
        int retval;
@@ -82,9 +89,9 @@ static int do_ut_all(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
        return any_fail;
 }
 
-static int do_ut(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
+static int do_ut(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
 {
-       cmd_tbl_t *cp;
+       struct cmd_tbl *cp;
 
        if (argc < 2)
                return CMD_RET_USAGE;
@@ -117,12 +124,21 @@ static char ut_help_text[] =
 #ifdef CONFIG_UT_LIB
        "ut lib [test-name] - test library functions\n"
 #endif
+#ifdef CONFIG_UT_LOG
+       "ut log [test-name] - test logging functions\n"
+#endif
+       "ut mem [test-name] - test memory-related commands\n"
 #ifdef CONFIG_UT_OPTEE
        "ut optee [test-name]\n"
 #endif
 #ifdef CONFIG_UT_OVERLAY
        "ut overlay [test-name]\n"
 #endif
+       "ut print [test-name]  - test printing\n"
+       "ut setexpr [test-name] - test setexpr command\n"
+#ifdef CONFIG_SANDBOX
+       "ut str - Basic test of string functions\n"
+#endif
 #ifdef CONFIG_UT_TIME
        "ut time - Very basic test of time functions\n"
 #endif
@@ -130,6 +146,9 @@ static char ut_help_text[] =
        !defined(CONFIG_SPL_BUILD) && !defined(API_BUILD)
        "ut unicode [test-name] - test Unicode functions\n"
 #endif
+#ifdef CONFIG_CMD_ADDRMAP
+       "ut addrmap - Very basic test of addrmap command\n"
+#endif
        ;
 #endif /* CONFIG_SYS_LONGHELP */