lib: tests: Add test suite init function

Allow to define an init function for the test suite. It could help us
to initialize global variable once, and use them in multiple test cases
after the initialization.

For instance, if multiple test cases use the same atomic_t var, it
could be helpful to call ATOMIC_INIT once during the suite
initialization.

Signed-off-by: Ivan Orlov <ivan.orlov0322@gmail.com>
Reviewed-by: Anup Patel <anup@brainfault.org>
This commit is contained in:
Ivan Orlov authored and Anup Patel committed 2024-05-07 11:27:13 +05:30
1 parent d4d2582eef
commit f6243d9ce5
2 files changed
+5

No files matched your search

+2
View File
@@ -19,6 +19,7 @@ struct sbiunit_test_case {
struct sbiunit_test_suite {
const char *name;
void (*init)(void);
struct sbiunit_test_case *cases;
};
@@ -34,6 +35,7 @@ struct sbiunit_test_suite {
#define SBIUNIT_TEST_SUITE(suite_name, cases_arr) \
struct sbiunit_test_suite suite_name = { \
.name = #suite_name, \
.init = NULL, \
.cases = cases_arr \
}
+3
View File
@@ -17,6 +17,9 @@ static void run_test_suite(struct sbiunit_test_suite *suite)
sbi_printf("## Running test suite: %s\n", suite->name);
if (suite->init)
suite->init();
s_case = suite->cases;
while (s_case->test_func) {
s_case->test_func(s_case);