Blame view
test/cmd_ut.c
2.62 KB
d41ce506b Initial Release, ... |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 |
/* * (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_ents, name); for (test = tests; test < tests + n_ents; test++) { if (argc > 1 && strcmp(argv[1], test->name)) continue; printf("Test: %s ", test->name); uts.start = mallinfo(); test->func(&uts); } printf("Failures: %d ", 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) U_BOOT_CMD_MKENT(dm, CONFIG_SYS_MAXARGS, 1, do_ut_dm, "", ""), #endif #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[]) { int i; int retval; int any_fail = 0; for (i = 1; i < ARRAY_SIZE(cmd_ut_sub); i++) { printf("----Running %s tests---- ", cmd_ut_sub[i].name); retval = cmd_ut_sub[i].cmd(cmdtp, flag, 1, &cmd_ut_sub[i].name); if (!any_fail) any_fail = retval; } return any_fail; } static int do_ut(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) { cmd_tbl_t *cp; if (argc < 2) return CMD_RET_USAGE; /* drop initial "ut" arg */ argc--; argv++; cp = find_cmd_tbl(argv[0], cmd_ut_sub, ARRAY_SIZE(cmd_ut_sub)); if (cp) return cp->cmd(cmdtp, flag, argc, argv); return CMD_RET_USAGE; } #ifdef CONFIG_SYS_LONGHELP static char ut_help_text[] = "all - execute all enabled tests " #ifdef CONFIG_UT_DM "ut dm [test-name] " #endif #ifdef CONFIG_UT_ENV "ut env [test-name] " #endif #ifdef CONFIG_UT_OVERLAY "ut overlay [test-name] " #endif #ifdef CONFIG_UT_TIME "ut time - Very basic test of time functions " #endif #ifdef CONFIG_SANDBOX "ut compression - Test compressors and bootm decompression " #endif ; #endif U_BOOT_CMD( ut, CONFIG_SYS_MAXARGS, 1, do_ut, "unit tests", ut_help_text ); |