linux/compat.h: Add wait_event_timeout macro
[platform/kernel/u-boot.git] / test / cmd_ut.c
index 400719e..8f0bc68 100644 (file)
@@ -6,14 +6,16 @@
 
 #include <common.h>
 #include <command.h>
+#include <console.h>
 #include <test/suites.h>
 #include <test/test.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, const char *prefix,
                    struct unit_test *tests, int n_ents,
-                   int argc, char * const argv[])
+                   int argc, char *const argv[])
 {
        struct unit_test_state uts = { .fail_count = 0 };
        struct unit_test *test;
@@ -26,13 +28,22 @@ int cmd_ut_category(const char *name, const char *prefix,
                const char *test_name = test->name;
 
                /* Remove the prefix */
-               if (!strncmp(test_name, prefix, prefix_len))
+               if (prefix && !strncmp(test_name, prefix, prefix_len))
                        test_name += prefix_len;
 
                if (argc > 1 && strcmp(argv[1], test_name))
                        continue;
                printf("Test: %s\n", test->name);
 
+               if (test->flags & UT_TESTF_CONSOLE_REC) {
+                       int ret = console_record_reset_enable();
+
+                       if (ret) {
+                               printf("Skipping: Console recording disabled\n");
+                               continue;
+                       }
+               }
+
                uts.start = mallinfo();
 
                test->func(&uts);
@@ -43,7 +54,7 @@ int cmd_ut_category(const char *name, const char *prefix,
        return uts.fail_count ? 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, "", ""),
 #if defined(CONFIG_UT_DM)
        U_BOOT_CMD_MKENT(dm, CONFIG_SYS_MAXARGS, 1, do_ut_dm, "", ""),
@@ -60,6 +71,10 @@ 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_UT_TIME
        U_BOOT_CMD_MKENT(time, CONFIG_SYS_MAXARGS, 1, do_ut_time, "", ""),
 #endif
@@ -71,10 +86,13 @@ static cmd_tbl_t cmd_ut_sub[] = {
                         "", ""),
        U_BOOT_CMD_MKENT(bloblist, CONFIG_SYS_MAXARGS, 1, do_ut_bloblist,
                         "", ""),
+       U_BOOT_CMD_MKENT(str, CONFIG_SYS_MAXARGS, 1, do_ut_str,
+                        "", ""),
 #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;
@@ -90,9 +108,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;
@@ -125,12 +143,19 @@ 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
+#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