mirror of
https://github.com/smaeul/u-boot.git
synced 2025-11-26 22:01:10 +00:00
bootstd: Expand boot-ordering test to include USB
Scan the USB bus as well, so we can check that different uclasses work correctly in boot_targets update the function comment with more detail. Signed-off-by: Simon Glass <sjg@chromium.org> Tested-by: Ivan T.Ivanov <iivanov@suse.de>
This commit is contained in:
parent
abd1e94f70
commit
7ae83bfaf4
@ -190,12 +190,21 @@ static int bootdev_test_any(struct unit_test_state *uts)
|
||||
BOOTSTD_TEST(bootdev_test_any, UT_TESTF_DM | UT_TESTF_SCAN_FDT |
|
||||
UT_TESTF_ETH_BOOTDEV);
|
||||
|
||||
/* Check bootdev ordering with the bootdev-order property */
|
||||
/*
|
||||
* Check bootdev ordering with the bootdev-order property and boot_targets
|
||||
* environment variable
|
||||
*/
|
||||
static int bootdev_test_order(struct unit_test_state *uts)
|
||||
{
|
||||
struct bootflow_iter iter;
|
||||
struct bootflow bflow;
|
||||
|
||||
test_set_skip_delays(true);
|
||||
|
||||
/* Start up USB which gives us three additional bootdevs */
|
||||
usb_started = false;
|
||||
ut_assertok(run_command("usb start", 0));
|
||||
|
||||
/*
|
||||
* First try the order set by the bootdev-order property
|
||||
* Like all sandbox unit tests this relies on the devicetree setting up
|
||||
@ -213,12 +222,14 @@ static int bootdev_test_order(struct unit_test_state *uts)
|
||||
bootflow_iter_uninit(&iter);
|
||||
|
||||
/* Use the environment variable to override it */
|
||||
ut_assertok(env_set("boot_targets", "mmc1 mmc2"));
|
||||
ut_assertok(env_set("boot_targets", "mmc1 mmc2 usb"));
|
||||
ut_assertok(bootflow_scan_first(NULL, NULL, &iter, 0, &bflow));
|
||||
ut_asserteq(-ENODEV, bootflow_scan_next(&iter, &bflow));
|
||||
ut_asserteq(2, iter.num_devs);
|
||||
ut_asserteq(3, iter.num_devs);
|
||||
ut_asserteq_str("mmc1.bootdev", iter.dev_used[0]->name);
|
||||
ut_asserteq_str("mmc2.bootdev", iter.dev_used[1]->name);
|
||||
ut_asserteq_str("usb_mass_storage.lun0.bootdev",
|
||||
iter.dev_used[2]->name);
|
||||
bootflow_iter_uninit(&iter);
|
||||
|
||||
return 0;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user