On Wed, Oct 01, 2025 at 03:26:31PM -0600, Simon Glass wrote: > These have different behaviour from normal bootmeths and we are about to > enhance it. So add a test and also an extra check in bootflow_iter() > > Signed-off-by: Simon Glass <[email protected]> [snip] > @@ -388,6 +390,49 @@ static int bootflow_iter(struct unit_test_state *uts) > BOOTSTD_TEST(bootflow_iter, UTF_DM | UTF_SCAN_FDT | UTF_CONSOLE); > > #if defined(CONFIG_SANDBOX) && defined(CONFIG_BOOTMETH_GLOBAL) > + > +/* Check iterating through available bootflows to test global bootmeths */ > +static int bootflow_iter_glob(struct unit_test_state *uts) > +{ > + struct bootflow_iter iter; > + struct bootflow bflow; > + > + bootstd_clear_glob(); > + > + /* we should get the global bootmeth initially */ > + ut_asserteq(-EINVAL, > + bootflow_scan_first(NULL, NULL, &iter, BOOTFLOWIF_ALL | > + BOOTFLOWIF_SHOW, &bflow)); > + bootflow_show(0, &bflow, true);
Here is the one call of bootflow_show outside of where show_bootflow is
called today, and bootflow_show is called by the end of this series.
> + ut_asserteq(3, iter.num_methods);
> + ut_assert(iter.doing_global);
> + ut_asserteq(2, iter.first_glob_method);
> +
> + ut_asserteq(2, iter.cur_method);
> + ut_asserteq(0, iter.part);
> + ut_asserteq(0, iter.max_part);
> + ut_asserteq_str("firmware0", iter.method->name);
> + ut_asserteq(0, bflow.err);
> + bootflow_free(&bflow);
> +
> + /* next we should get the first non-global bootmeth */
> + ut_asserteq(-EPROTONOSUPPORT, bootflow_scan_next(&iter, &bflow));
> +
> + /* at this point the global bootmeths are stranded above num_methods */
> + ut_asserteq(2, iter.num_methods);
> + ut_asserteq(2, iter.first_glob_method);
> + ut_assert(!iter.doing_global);
> +
> + ut_asserteq(0, iter.cur_method);
> + ut_asserteq(0, iter.part);
> + ut_asserteq(0, iter.max_part);
> + ut_asserteq_str("extlinux", iter.method->name);
> + ut_asserteq(0, bflow.err);
Nothing in the rest of this test is checking the output of strings, and
nor should it since the test is checking the struct itself to be as
expected. Am I missing something? If not, I don't think we should bother
with the previous patch.
--
Tom
signature.asc
Description: PGP signature

