[U-Boot] [PATCH 007/126] dm: test: Fix running of multiple test from command line

Simon Glass sjg at chromium.org
Wed Sep 25 14:55:51 UTC 2019

At present when multiple 'ut dm' commands are executed, all but the first
is run with a flat tree, even if live tree is enabled. This is because the
live tree node pointer is set to NULL and never restored.

This does not affect normal test running, which just runs all the test in
one go, but can be confusing when several individual tests are run during
the same U-Boot run.

Correct this by restoring the pointer.

Fixes: c166c47ba3 (dm: test: Add support for running tests with livetree)
Signed-off-by: Simon Glass <sjg at chromium.org>

 test/dm/test-main.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/test/dm/test-main.c b/test/dm/test-main.c
index 5d79ce641d7..487d8b96275 100644
--- a/test/dm/test-main.c
+++ b/test/dm/test-main.c
@@ -188,8 +188,12 @@ static int dm_test_main(const char *test_name)
 		printf("Failures: %d\n", uts->fail_count);
+	/* Put everything back to normal so that sandbox works as expected */
+	gd->of_root = uts->of_root;
 	gd->dm_root = NULL;
-	ut_assertok(dm_init(false));
+	ut_assertok(dm_init(IS_ENABLED(CONFIG_OF_LIVE)));
 	dm_scan_fdt(gd->fdt_blob, false);

More information about the U-Boot mailing list