test: dm: Move the dm tests over to the ut command

Unify the command for running unit tests further by moving the "dm test"
command over to "ut dm".

Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Acked-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Joe Hershberger 2015-05-20 14:27:29 -05:00 committed by Tom Rini
parent c617ede08a
commit 40441e0bd3
9 changed files with 32 additions and 45 deletions

View File

@ -38,4 +38,4 @@ CONFIG_USB_STORAGE=y
CONFIG_DM_RTC=y CONFIG_DM_RTC=y
CONFIG_ERRNO_STR=y CONFIG_ERRNO_STR=y
CONFIG_CMD_UT_TIME=y CONFIG_CMD_UT_TIME=y
CONFIG_DM_TEST=y CONFIG_UT_DM=y

View File

@ -202,15 +202,4 @@ void dm_leak_check_start(struct unit_test_state *uts);
* @dms: Overall test state * @dms: Overall test state
*/int dm_leak_check_end(struct unit_test_state *uts); */int dm_leak_check_end(struct unit_test_state *uts);
/**
* dm_test_main() - Run all or one of the tests
*
* This runs all available driver model tests, or a selected one
*
* @test_name: Name of test to run, or NULL for all
* @return 0 if OK, -ve on error
*/
int dm_test_main(const char *test_name);
#endif #endif

View File

@ -8,4 +8,6 @@
#ifndef __TEST_SUITES_H__ #ifndef __TEST_SUITES_H__
#define __TEST_SUITES_H__ #define __TEST_SUITES_H__
int do_ut_dm(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]);
#endif /* __TEST_SUITES_H__ */ #endif /* __TEST_SUITES_H__ */

View File

@ -13,6 +13,9 @@ static int do_ut_all(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]);
static cmd_tbl_t cmd_ut_sub[] = { static cmd_tbl_t cmd_ut_sub[] = {
U_BOOT_CMD_MKENT(all, CONFIG_SYS_MAXARGS, 1, do_ut_all, "", ""), 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
}; };
static int do_ut_all(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) static int do_ut_all(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
@ -53,6 +56,9 @@ static int do_ut(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
#ifdef CONFIG_SYS_LONGHELP #ifdef CONFIG_SYS_LONGHELP
static char ut_help_text[] = static char ut_help_text[] =
"all - execute all enabled tests\n" "all - execute all enabled tests\n"
#ifdef CONFIG_UT_DM
"ut dm [test-name]\n"
#endif
; ;
#endif #endif

View File

@ -1,9 +1,9 @@
config DM_TEST config UT_DM
bool "Enable driver model test command" bool "Enable driver model unit test command"
depends on SANDBOX && CMD_DM depends on SANDBOX
select UNIT_TEST select UNIT_TEST
help help
This enables the 'dm test' command which runs a series of unit This enables the 'ut dm' command which runs a series of unit
tests on the driver model code. Each subsystem (uclass) is tested. tests on the driver model code. Each subsystem (uclass) is tested.
If all is well then all tests pass although there will be a few If all is well then all tests pass although there will be a few
messages printed along the way. messages printed along the way.

View File

@ -5,15 +5,15 @@
# #
obj-$(CONFIG_CMD_DM) += cmd_dm.o obj-$(CONFIG_CMD_DM) += cmd_dm.o
obj-$(CONFIG_DM_TEST) += bus.o obj-$(CONFIG_UT_DM) += bus.o
obj-$(CONFIG_DM_TEST) += test-driver.o obj-$(CONFIG_UT_DM) += test-driver.o
obj-$(CONFIG_DM_TEST) += test-fdt.o obj-$(CONFIG_UT_DM) += test-fdt.o
obj-$(CONFIG_DM_TEST) += test-main.o obj-$(CONFIG_UT_DM) += test-main.o
obj-$(CONFIG_DM_TEST) += test-uclass.o obj-$(CONFIG_UT_DM) += test-uclass.o
# Tests for particular subsystems - when enabling driver model for a new # Tests for particular subsystems - when enabling driver model for a new
# subsystem you must add sandbox tests here. # subsystem you must add sandbox tests here.
obj-$(CONFIG_DM_TEST) += core.o obj-$(CONFIG_UT_DM) += core.o
ifneq ($(CONFIG_SANDBOX),) ifneq ($(CONFIG_SANDBOX),)
obj-$(CONFIG_DM_ETH) += eth.o obj-$(CONFIG_DM_ETH) += eth.o
obj-$(CONFIG_DM_GPIO) += gpio.o obj-$(CONFIG_DM_GPIO) += gpio.o

View File

@ -14,7 +14,6 @@
#include <errno.h> #include <errno.h>
#include <asm/io.h> #include <asm/io.h>
#include <dm/root.h> #include <dm/root.h>
#include <dm/test.h>
#include <dm/uclass-internal.h> #include <dm/uclass-internal.h>
static void show_devices(struct udevice *dev, int depth, int last_flag) static void show_devices(struct udevice *dev, int depth, int last_flag)
@ -109,28 +108,9 @@ static int do_dm_dump_uclass(cmd_tbl_t *cmdtp, int flag, int argc,
return 0; return 0;
} }
#ifdef CONFIG_DM_TEST
static int do_dm_test(cmd_tbl_t *cmdtp, int flag, int argc,
char * const argv[])
{
const char *test_name = NULL;
if (argc > 0)
test_name = argv[0];
return dm_test_main(test_name);
}
#define TEST_HELP "\ndm test Run tests"
#else
#define TEST_HELP
#endif
static cmd_tbl_t test_commands[] = { static cmd_tbl_t test_commands[] = {
U_BOOT_CMD_MKENT(tree, 0, 1, do_dm_dump_all, "", ""), U_BOOT_CMD_MKENT(tree, 0, 1, do_dm_dump_all, "", ""),
U_BOOT_CMD_MKENT(uclass, 1, 1, do_dm_dump_uclass, "", ""), U_BOOT_CMD_MKENT(uclass, 1, 1, do_dm_dump_uclass, "", ""),
#ifdef CONFIG_DM_TEST
U_BOOT_CMD_MKENT(test, 1, 1, do_dm_test, "", ""),
#endif
}; };
static int do_dm(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) static int do_dm(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
@ -157,5 +137,4 @@ U_BOOT_CMD(
"Driver model low level access", "Driver model low level access",
"tree Dump driver model tree ('*' = activated)\n" "tree Dump driver model tree ('*' = activated)\n"
"dm uclass Dump list of instances for each uclass" "dm uclass Dump list of instances for each uclass"
TEST_HELP
); );

View File

@ -11,6 +11,6 @@ make O=sandbox -s -j${NUM_CPUS} || die "Cannot build U-Boot"
dd if=/dev/zero of=spi.bin bs=1M count=2 dd if=/dev/zero of=spi.bin bs=1M count=2
echo -n "this is a test" > testflash.bin echo -n "this is a test" > testflash.bin
dd if=/dev/zero bs=1M count=4 >>testflash.bin dd if=/dev/zero bs=1M count=4 >>testflash.bin
./sandbox/u-boot -d ./sandbox/arch/sandbox/dts/test.dtb -c "dm test" ./sandbox/u-boot -d ./sandbox/arch/sandbox/dts/test.dtb -c "ut dm"
rm spi.bin rm spi.bin
rm testflash.bin rm testflash.bin

View File

@ -5,6 +5,7 @@
*/ */
#include <common.h> #include <common.h>
#include <command.h>
#include <dm.h> #include <dm.h>
#include <errno.h> #include <errno.h>
#include <malloc.h> #include <malloc.h>
@ -70,7 +71,7 @@ static int dm_test_destroy(struct unit_test_state *uts)
return 0; return 0;
} }
int dm_test_main(const char *test_name) static int dm_test_main(const char *test_name)
{ {
struct unit_test *tests = ll_entry_start(struct unit_test, dm_test); struct unit_test *tests = ll_entry_start(struct unit_test, dm_test);
const int n_ents = ll_entry_count(struct unit_test, dm_test); const int n_ents = ll_entry_count(struct unit_test, dm_test);
@ -115,3 +116,13 @@ int dm_test_main(const char *test_name)
return 0; return 0;
} }
int do_ut_dm(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
{
const char *test_name = NULL;
if (argc > 1)
test_name = argv[1];
return dm_test_main(test_name);
}