1 /* SPDX-License-Identifier: GPL-2.0+ */ 2 /* 3 * Copyright (c) 2013 Google, Inc. 4 */ 5 6 #ifndef __TEST_TEST_H 7 #define __TEST_TEST_H 8 9 #include <malloc.h> 10 11 /* 12 * struct unit_test_state - Entire state of test system 13 * 14 * @fail_count: Number of tests that failed 15 * @start: Store the starting mallinfo when doing leak test 16 * @priv: A pointer to some other info some suites want to track 17 * @of_root: Record of the livetree root node (used for setting up tests) 18 */ 19 struct unit_test_state { 20 int fail_count; 21 struct mallinfo start; 22 void *priv; 23 struct device_node *of_root; 24 }; 25 26 /** 27 * struct unit_test - Information about a unit test 28 * 29 * @name: Name of test 30 * @func: Function to call to perform test 31 * @flags: Flags indicated pre-conditions for test 32 */ 33 struct unit_test { 34 const char *file; 35 const char *name; 36 int (*func)(struct unit_test_state *state); 37 int flags; 38 }; 39 40 /* Declare a new unit test */ 41 #define UNIT_TEST(_name, _flags, _suite) \ 42 ll_entry_declare(struct unit_test, _name, _suite) = { \ 43 .file = __FILE__, \ 44 .name = #_name, \ 45 .flags = _flags, \ 46 .func = _name, \ 47 } 48 49 50 #endif /* __TEST_TEST_H */ 51