summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/dm/test.h35
-rw-r--r--include/test/test.h47
-rw-r--r--include/test/ut.h (renamed from include/dm/ut.h)28
3 files changed, 68 insertions, 42 deletions
diff --git a/include/dm/test.h b/include/dm/test.h
index f03fbcb..98f2b9e 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);
/**
diff --git a/include/test/test.h b/include/test/test.h
new file mode 100644
index 0000000..b7e1ae2
--- /dev/null
+++ b/include/test/test.h
@@ -0,0 +1,47 @@
+/*
+ * Copyright (c) 2013 Google, Inc.
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+#ifndef __TEST_TEST_H
+#define __TEST_TEST_H
+
+#include <malloc.h>
+
+/*
+ * struct unit_test_state - Entire state of test system
+ *
+ * @fail_count: Number of tests that failed
+ * @start: Store the starting mallinfo when doing leak test
+ * @priv: A pointer to some other info some suites want to track
+ */
+struct unit_test_state {
+ int fail_count;
+ struct mallinfo start;
+ void *priv;
+};
+
+/**
+ * struct unit_test - Information about a unit test
+ *
+ * @name: Name of test
+ * @func: Function to call to perform test
+ * @flags: Flags indicated pre-conditions for test
+ */
+struct unit_test {
+ const char *name;
+ int (*func)(struct unit_test_state *state);
+ int flags;
+};
+
+/* Declare a new unit test */
+#define UNIT_TEST(_name, _flags, _suite) \
+ ll_entry_declare(struct unit_test, _name, _suite) = { \
+ .name = #_name, \
+ .flags = _flags, \
+ .func = _name, \
+ }
+
+
+#endif /* __TEST_TEST_H */
diff --git a/include/dm/ut.h b/include/test/ut.h
index ec61465..275f27f 100644
--- a/include/dm/ut.h
+++ b/include/test/ut.h
@@ -1,39 +1,39 @@
/*
- * Simple unit test library for driver model
+ * Simple unit test library
*
* Copyright (c) 2013 Google, Inc
*
* SPDX-License-Identifier: GPL-2.0+
*/
-#ifndef __DM_UT_H
-#define __DM_UT_H
+#ifndef __TEST_UT_H
+#define __TEST_UT_H
-struct dm_test_state;
+struct unit_test_state;
/**
* ut_fail() - Record failure of a unit test
*
- * @dms: Test state
+ * @uts: Test state
* @fname: Filename where the error occured
* @line: Line number where the error occured
* @func: Function name where the error occured
* @cond: The condition that failed
*/
-void ut_fail(struct dm_test_state *dms, const char *fname, int line,
+void ut_fail(struct unit_test_state *uts, const char *fname, int line,
const char *func, const char *cond);
/**
* ut_failf() - Record failure of a unit test
*
- * @dms: Test state
+ * @uts: Test state
* @fname: Filename where the error occured
* @line: Line number where the error occured
* @func: Function name where the error occured
* @cond: The condition that failed
* @fmt: printf() format string for the error, followed by args
*/
-void ut_failf(struct dm_test_state *dms, const char *fname, int line,
+void ut_failf(struct unit_test_state *uts, const char *fname, int line,
const char *func, const char *cond, const char *fmt, ...)
__attribute__ ((format (__printf__, 6, 7)));
@@ -41,14 +41,14 @@ void ut_failf(struct dm_test_state *dms, const char *fname, int line,
/* Assert that a condition is non-zero */
#define ut_assert(cond) \
if (!(cond)) { \
- ut_fail(dms, __FILE__, __LINE__, __func__, #cond); \
+ ut_fail(uts, __FILE__, __LINE__, __func__, #cond); \
return -1; \
}
/* Assert that a condition is non-zero, with printf() string */
#define ut_assertf(cond, fmt, args...) \
if (!(cond)) { \
- ut_failf(dms, __FILE__, __LINE__, __func__, #cond, \
+ ut_failf(uts, __FILE__, __LINE__, __func__, #cond, \
fmt, ##args); \
return -1; \
}
@@ -58,7 +58,7 @@ void ut_failf(struct dm_test_state *dms, const char *fname, int line,
unsigned int val1 = (expr1), val2 = (expr2); \
\
if (val1 != val2) { \
- ut_failf(dms, __FILE__, __LINE__, __func__, \
+ ut_failf(uts, __FILE__, __LINE__, __func__, \
#expr1 " == " #expr2, \
"Expected %d, got %d", val1, val2); \
return -1; \
@@ -70,7 +70,7 @@ void ut_failf(struct dm_test_state *dms, const char *fname, int line,
const char *val1 = (expr1), *val2 = (expr2); \
\
if (strcmp(val1, val2)) { \
- ut_failf(dms, __FILE__, __LINE__, __func__, \
+ ut_failf(uts, __FILE__, __LINE__, __func__, \
#expr1 " = " #expr2, \
"Expected \"%s\", got \"%s\"", val1, val2); \
return -1; \
@@ -82,7 +82,7 @@ void ut_failf(struct dm_test_state *dms, const char *fname, int line,
const void *val1 = (expr1), *val2 = (expr2); \
\
if (val1 != val2) { \
- ut_failf(dms, __FILE__, __LINE__, __func__, \
+ ut_failf(uts, __FILE__, __LINE__, __func__, \
#expr1 " = " #expr2, \
"Expected %p, got %p", val1, val2); \
return -1; \
@@ -94,7 +94,7 @@ void ut_failf(struct dm_test_state *dms, const char *fname, int line,
const void *val = (expr); \
\
if (val == NULL) { \
- ut_failf(dms, __FILE__, __LINE__, __func__, \
+ ut_failf(uts, __FILE__, __LINE__, __func__, \
#expr " = NULL", \
"Expected non-null, got NULL"); \
return -1; \