diff options
author | Simon Glass <sjg@chromium.org> | 2021-03-07 17:34:59 -0700 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2021-03-12 09:57:30 -0500 |
commit | e77615d3a78f43793f27cd4dbe04efc6522a05ef (patch) | |
tree | 183516c27987785617cdc9e63f1310380ea89a9d /test/test-main.c | |
parent | c79705ea938e40e204ad90e083a0654f0598a772 (diff) |
test: Move dm_test_destroy() into test-main.c
Move this function into the common test runner and rename it to
dm_test_post_run() so that its purpose is clear.
Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'test/test-main.c')
-rw-r--r-- | test/test-main.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/test/test-main.c b/test/test-main.c index 8b0121bdcec..3806c2ad89c 100644 --- a/test/test-main.c +++ b/test/test-main.c @@ -10,6 +10,7 @@ #include <asm/state.h> #include <dm/root.h> #include <dm/test.h> +#include <dm/uclass-internal.h> #include <test/test.h> #include <test/ut.h> @@ -44,6 +45,26 @@ static int dm_test_pre_run(struct unit_test_state *uts) return 0; } +static int dm_test_post_run(struct unit_test_state *uts) +{ + int id; + + for (id = 0; id < UCLASS_COUNT; id++) { + struct uclass *uc; + + /* + * If the uclass doesn't exist we don't want to create it. So + * check that here before we call uclass_find_device(). + */ + uc = uclass_find(id); + if (!uc) + continue; + ut_assertok(uclass_destroy(uc)); + } + + return 0; +} + /* Ensure all the test devices are probed */ static int do_autoprobe(struct unit_test_state *uts) { @@ -94,6 +115,8 @@ int test_pre_run(struct unit_test_state *uts, struct unit_test *test) int test_post_run(struct unit_test_state *uts, struct unit_test *test) { ut_unsilence_console(uts); + if (test->flags & UT_TESTF_DM) + ut_assertok(dm_test_post_run(uts)); return 0; } |