diff options
author | Simon Glass <sjg@chromium.org> | 2014-02-26 15:59:21 -0700 |
---|---|---|
committer | Tom Rini <trini@ti.com> | 2014-03-04 12:15:29 -0500 |
commit | 2e7d35d2a60339cfa54e26a07326bc75e1060bb3 (patch) | |
tree | 0c49d6f7fb9bdaf9cb2b553e6cbd839c7c837ed5 /test/dm/ut.c | |
parent | 1ce60176799ae04d508b14e9caa7f3bd3a170f0f (diff) | |
download | u-boot-imx-2e7d35d2a60339cfa54e26a07326bc75e1060bb3.zip u-boot-imx-2e7d35d2a60339cfa54e26a07326bc75e1060bb3.tar.gz u-boot-imx-2e7d35d2a60339cfa54e26a07326bc75e1060bb3.tar.bz2 |
dm: Add basic tests
Add some tests of driver model functionality. Coverage includes:
- basic init
- binding of drivers to devices using platform_data
- automatic probing of devices when referenced
- availability of platform data to devices
- lifecycle from bind to probe to remove to unbind
- renumbering within a uclass when devices are probed/removed
- calling driver-defined operations
- deactivation of drivers when removed
- memory leak across creation and destruction of drivers/uclasses
- uclass init/destroy methods
- automatic probe/remove of children/parents when needed
This function is enabled for sandbox, using CONFIG_DM_TEST.
Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'test/dm/ut.c')
-rw-r--r-- | test/dm/ut.c | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/test/dm/ut.c b/test/dm/ut.c new file mode 100644 index 0000000..8b69bc2 --- /dev/null +++ b/test/dm/ut.c @@ -0,0 +1,33 @@ +/* + * Simple unit test library for driver model + * + * Copyright (c) 2013 Google, Inc + * + * SPDX-License-Identifier: GPL-2.0+ + */ + +#include <common.h> +#include <dm/test.h> +#include <dm/ut.h> + +struct dm_test_state; + +void ut_fail(struct dm_test_state *dms, const char *fname, int line, + const char *func, const char *cond) +{ + printf("%s:%d, %s(): %s\n", fname, line, func, cond); + dms->fail_count++; +} + +void ut_failf(struct dm_test_state *dms, const char *fname, int line, + const char *func, const char *cond, const char *fmt, ...) +{ + va_list args; + + printf("%s:%d, %s(): %s: ", fname, line, func, cond); + va_start(args, fmt); + vprintf(fmt, args); + va_end(args); + putc('\n'); + dms->fail_count++; +} |