blob: 5d03321efedbac5c8388577b89d83582d3fa61ef [file] [log] [blame]
Joe Hershbergerc617ede2015-05-20 14:27:28 -05001/*
2 * (C) Copyright 2015
3 * Joe Hershberger, National Instruments, joe.hershberger@ni.com
4 *
5 * SPDX-License-Identifier: GPL-2.0
6 */
7
8#include <common.h>
9#include <command.h>
10#include <test/suites.h>
11
12static int do_ut_all(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]);
13
14static cmd_tbl_t cmd_ut_sub[] = {
15 U_BOOT_CMD_MKENT(all, CONFIG_SYS_MAXARGS, 1, do_ut_all, "", ""),
16};
17
18static int do_ut_all(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
19{
20 int i;
21 int retval;
22 int any_fail = 0;
23
24 for (i = 1; i < ARRAY_SIZE(cmd_ut_sub); i++) {
25 printf("----Running %s tests----\n", cmd_ut_sub[i].name);
26 retval = cmd_ut_sub[i].cmd(cmdtp, flag, 1, &cmd_ut_sub[i].name);
27 if (!any_fail)
28 any_fail = retval;
29 }
30
31 return any_fail;
32}
33
34static int do_ut(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
35{
36 cmd_tbl_t *cp;
37
38 if (argc < 2)
39 return CMD_RET_USAGE;
40
41 /* drop initial "ut" arg */
42 argc--;
43 argv++;
44
45 cp = find_cmd_tbl(argv[0], cmd_ut_sub, ARRAY_SIZE(cmd_ut_sub));
46
47 if (cp)
48 return cp->cmd(cmdtp, flag, argc, argv);
49
50 return CMD_RET_USAGE;
51}
52
53#ifdef CONFIG_SYS_LONGHELP
54static char ut_help_text[] =
55 "all - execute all enabled tests\n"
56 ;
57#endif
58
59U_BOOT_CMD(
60 ut, CONFIG_SYS_MAXARGS, 1, do_ut,
61 "unit tests", ut_help_text
62);