dm: test: Fix running of multiple test from command line

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@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
This commit is contained in:
Simon Glass 2019-09-25 08:55:51 -06:00 committed by Bin Meng
parent fdd72be486
commit fe9a967925

View file

@ -188,8 +188,12 @@ static int dm_test_main(const char *test_name)
else
printf("Failures: %d\n", uts->fail_count);
/* Put everything back to normal so that sandbox works as expected */
#ifdef CONFIG_OF_LIVE
gd->of_root = uts->of_root;
#endif
gd->dm_root = NULL;
ut_assertok(dm_init(false));
ut_assertok(dm_init(IS_ENABLED(CONFIG_OF_LIVE)));
dm_scan_platdata(false);
dm_scan_fdt(gd->fdt_blob, false);