summaryrefslogtreecommitdiffstats
path: root/include/dm/test.h
diff options
context:
space:
mode:
authorJoe Hershberger <joe.hershberger@ni.com>2015-05-20 14:27:27 -0500
committerTom Rini <trini@konsulko.com>2015-05-21 09:16:16 -0400
commite721b882e9daf3ad3599eef5a9ccf3847b694228 (patch)
treed92fadcb65548e6ed19c60d4dfa27ecc80c3778c /include/dm/test.h
parent6e0d26c0502e4d697cb235069aef188f8f1407d3 (diff)
downloadtalos-obmc-uboot-e721b882e9daf3ad3599eef5a9ccf3847b694228.tar.gz
talos-obmc-uboot-e721b882e9daf3ad3599eef5a9ccf3847b694228.zip
test: Generalize the unit test framework
Separate the ability to define tests and assert status of test functions from the dm tests so they can be used more consistently throughout all tests. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com> Reviewed-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'include/dm/test.h')
-rw-r--r--include/dm/test.h35
1 files changed, 7 insertions, 28 deletions
diff --git a/include/dm/test.h b/include/dm/test.h
index f03fbcb1cd..98f2b9e996 100644
--- a/include/dm/test.h
+++ b/include/dm/test.h
@@ -8,7 +8,7 @@
#define __DM_TEST_H
#include <dm.h>
-#include <malloc.h>
+#include <test/test.h>
/**
* struct dm_test_cdata - configuration data for test instance
@@ -124,7 +124,7 @@ struct dm_test_perdev_uc_pdata {
*/
extern int dm_testdrv_op_count[DM_TEST_OP_COUNT];
-extern struct dm_test_state global_test_state;
+extern struct unit_test_state global_dm_test_state;
/*
* struct dm_test_state - Entire state of dm test system
@@ -133,7 +133,6 @@ extern struct dm_test_state global_test_state;
*
* @root: Root device
* @testdev: Test device
- * @fail_count: Number of tests that failed
* @force_fail_alloc: Force all memory allocs to fail
* @skip_post_probe: Skip uclass post-probe processing
* @removed: Used to keep track of a device that was removed
@@ -141,11 +140,9 @@ extern struct dm_test_state global_test_state;
struct dm_test_state {
struct udevice *root;
struct udevice *testdev;
- int fail_count;
int force_fail_alloc;
int skip_post_probe;
struct udevice *removed;
- struct mallinfo start;
};
/* Test flags for each test */
@@ -155,26 +152,8 @@ enum {
DM_TESTF_SCAN_FDT = 1 << 2, /* scan device tree */
};
-/**
- * struct dm_test - Information about a driver model test
- *
- * @name: Name of test
- * @func: Function to call to perform test
- * @flags: Flags indicated pre-conditions for test
- */
-struct dm_test {
- const char *name;
- int (*func)(struct dm_test_state *dms);
- int flags;
-};
-
/* Declare a new driver model test */
-#define DM_TEST(_name, _flags) \
- ll_entry_declare(struct dm_test, _name, dm_test) = { \
- .name = #_name, \
- .flags = _flags, \
- .func = _name, \
- }
+#define DM_TEST(_name, _flags) UNIT_TEST(_name, _flags, dm_test)
/* Declare ping methods for the drivers */
int test_ping(struct udevice *dev, int pingval, int *pingret);
@@ -191,7 +170,7 @@ int testfdt_ping(struct udevice *dev, int pingval, int *pingret);
* @priv: Pointer to private test information
* @return 0 if OK, -ve on error
*/
-int dm_check_operations(struct dm_test_state *dms, struct udevice *dev,
+int dm_check_operations(struct unit_test_state *uts, struct udevice *dev,
uint32_t base, struct dm_test_priv *priv);
/**
@@ -201,7 +180,7 @@ int dm_check_operations(struct dm_test_state *dms, struct udevice *dev,
* @num_devices: Number of test devices to check
* @return 0 if OK, -ve on error
*/
-int dm_check_devices(struct dm_test_state *dms, int num_devices);
+int dm_check_devices(struct unit_test_state *uts, int num_devices);
/**
* dm_leak_check_start() - Prepare to check for a memory leak
@@ -211,7 +190,7 @@ int dm_check_devices(struct dm_test_state *dms, int num_devices);
*
* @dms: Overall test state
*/
-void dm_leak_check_start(struct dm_test_state *dms);
+void dm_leak_check_start(struct unit_test_state *uts);
/**
* dm_leak_check_end() - Check that no memory has leaked
@@ -221,7 +200,7 @@ void dm_leak_check_start(struct dm_test_state *dms);
* it sees a different amount of total memory allocated than before.
*
* @dms: Overall test state
- */int dm_leak_check_end(struct dm_test_state *dms);
+ */int dm_leak_check_end(struct unit_test_state *uts);
/**
OpenPOWER on IntegriCloud