diff mbox series

[v4,30/42] test: Use return values in dm_test_run()

Message ID 20210304135118.643277-30-sjg@chromium.org
State Superseded
Delegated to: Tom Rini
Headers show
Series test: Refactor tests to have a single test runner | expand

Commit Message

Simon Glass March 4, 2021, 1:51 p.m. UTC
Update this function to use the return value of ut_run_list() to check for
success/failure, so that they are in sync. Also return a command success
code so that the caller gets what it expects.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

(no changes since v1)

 test/dm/test-dm.c | 14 ++++++--------
 1 file changed, 6 insertions(+), 8 deletions(-)
diff mbox series

Patch

diff --git a/test/dm/test-dm.c b/test/dm/test-dm.c
index 20af1c13b3c..54e6577b009 100644
--- a/test/dm/test-dm.c
+++ b/test/dm/test-dm.c
@@ -20,16 +20,13 @@ 
 
 DECLARE_GLOBAL_DATA_PTR;
 
-struct unit_test_state global_dm_test_state;
-
 int dm_test_run(const char *test_name)
 {
 	struct unit_test *tests = ll_entry_start(struct unit_test, dm_test);
 	const int n_ents = ll_entry_count(struct unit_test, dm_test);
 	struct unit_test_state uts_s = { .fail_count = 0 }, *uts = &uts_s;
 	struct device_node *of_root;
-
-	uts->fail_count = 0;
+	int ret;
 
 	if (!CONFIG_IS_ENABLED(OF_PLATDATA)) {
 		/*
@@ -39,22 +36,23 @@  int dm_test_run(const char *test_name)
 		if (!gd->fdt_blob || fdt_next_node(gd->fdt_blob, 0, NULL) < 0) {
 			puts("Please run with test device tree:\n"
 			     "    ./u-boot -d arch/sandbox/dts/test.dtb\n");
-			ut_assert(gd->fdt_blob);
+			return CMD_RET_FAILURE;
 		}
 	}
 
 	of_root = gd_of_root();
-	ut_run_list("driver model", "dm_test_", tests, n_ents, test_name);
+	ret = ut_run_list("driver model", "dm_test_", tests, n_ents, test_name);
 
 	/* Put everything back to normal so that sandbox works as expected */
 	gd_set_of_root(of_root);
 	gd->dm_root = NULL;
-	ut_assertok(dm_init(CONFIG_IS_ENABLED(OF_LIVE)));
+	if (dm_init(CONFIG_IS_ENABLED(OF_LIVE)))
+		return CMD_RET_FAILURE;
 	dm_scan_plat(false);
 	if (!CONFIG_IS_ENABLED(OF_PLATDATA))
 		dm_scan_fdt(false);
 
-	return uts->fail_count ? CMD_RET_FAILURE : 0;
+	return ret ? CMD_RET_FAILURE : 0;
 }
 
 int do_ut_dm(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])