]> git.sur5r.net Git - u-boot/blobdiff - test/cmd_ut.c
SPDX: Convert all of our single license tags to Linux Kernel style
[u-boot] / test / cmd_ut.c
index f6e1f413db7f6f472d9609d728b0c40e8d347f41..934a5a931b0214f866a7bd38d43b2d783f78c1e8 100644 (file)
@@ -1,16 +1,40 @@
+// SPDX-License-Identifier: GPL-2.0
 /*
  * (C) Copyright 2015
  * Joe Hershberger, National Instruments, joe.hershberger@ni.com
- *
- * SPDX-License-Identifier:    GPL-2.0
  */
 
 #include <common.h>
 #include <command.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[]);
 
+int cmd_ut_category(const char *name, struct unit_test *tests, int n_ents,
+                   int argc, char * const argv[])
+{
+       struct unit_test_state uts = { .fail_count = 0 };
+       struct unit_test *test;
+
+       if (argc == 1)
+               printf("Running %d %s tests\n", n_ents, name);
+
+       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;
+}
+
 static cmd_tbl_t cmd_ut_sub[] = {
        U_BOOT_CMD_MKENT(all, CONFIG_SYS_MAXARGS, 1, do_ut_all, "", ""),
 #if defined(CONFIG_UT_DM)
@@ -19,9 +43,16 @@ static cmd_tbl_t cmd_ut_sub[] = {
 #if defined(CONFIG_UT_ENV)
        U_BOOT_CMD_MKENT(env, CONFIG_SYS_MAXARGS, 1, do_ut_env, "", ""),
 #endif
+#ifdef CONFIG_UT_OVERLAY
+       U_BOOT_CMD_MKENT(overlay, CONFIG_SYS_MAXARGS, 1, do_ut_overlay, "", ""),
+#endif
 #ifdef CONFIG_UT_TIME
        U_BOOT_CMD_MKENT(time, CONFIG_SYS_MAXARGS, 1, do_ut_time, "", ""),
 #endif
+#ifdef CONFIG_SANDBOX
+       U_BOOT_CMD_MKENT(compression, CONFIG_SYS_MAXARGS, 1, do_ut_compression,
+                        "", ""),
+#endif
 };
 
 static int do_ut_all(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
@@ -68,8 +99,14 @@ static char ut_help_text[] =
 #ifdef CONFIG_UT_ENV
        "ut env [test-name]\n"
 #endif
+#ifdef CONFIG_UT_OVERLAY
+       "ut overlay [test-name]\n"
+#endif
 #ifdef CONFIG_UT_TIME
        "ut time - Very basic test of time functions\n"
+#endif
+#ifdef CONFIG_SANDBOX
+       "ut compression - Test compressors and bootm decompression\n"
 #endif
        ;
 #endif