test: Add a common unit test command
Add a command that all other unit tests should be a sub-command of. Also include a command that will run all tests. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Acked-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
e721b882e9
commit
c617ede08a
11
include/test/suites.h
Normal file
11
include/test/suites.h
Normal file
@ -0,0 +1,11 @@
|
||||
/*
|
||||
* (C) Copyright 2015
|
||||
* Joe Hershberger, National Instruments, joe.hershberger@ni.com
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0
|
||||
*/
|
||||
|
||||
#ifndef __TEST_SUITES_H__
|
||||
#define __TEST_SUITES_H__
|
||||
|
||||
#endif /* __TEST_SUITES_H__ */
|
@ -4,6 +4,7 @@
|
||||
# SPDX-License-Identifier: GPL-2.0+
|
||||
#
|
||||
|
||||
obj-$(CONFIG_UNIT_TEST) += cmd_ut.o
|
||||
obj-$(CONFIG_UNIT_TEST) += ut.o
|
||||
obj-$(CONFIG_SANDBOX) += command_ut.o
|
||||
obj-$(CONFIG_SANDBOX) += compression.o
|
||||
|
62
test/cmd_ut.c
Normal file
62
test/cmd_ut.c
Normal file
@ -0,0 +1,62 @@
|
||||
/*
|
||||
* (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>
|
||||
|
||||
static int do_ut_all(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]);
|
||||
|
||||
static cmd_tbl_t cmd_ut_sub[] = {
|
||||
U_BOOT_CMD_MKENT(all, CONFIG_SYS_MAXARGS, 1, do_ut_all, "", ""),
|
||||
};
|
||||
|
||||
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----\n", 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\n"
|
||||
;
|
||||
#endif
|
||||
|
||||
U_BOOT_CMD(
|
||||
ut, CONFIG_SYS_MAXARGS, 1, do_ut,
|
||||
"unit tests", ut_help_text
|
||||
);
|
Loading…
Reference in New Issue
Block a user