summaryrefslogtreecommitdiff
path: root/test/boot
diff options
context:
space:
mode:
authorSimon Glass <[email protected]>2025-10-15 16:44:07 +0100
committerTom Rini <[email protected]>2025-10-22 14:16:56 -0600
commit0fe6de0dc5b137a2def3a8cc0baa2fb73a3f8541 (patch)
treedbad58ec96768c879c82b4984e0da5dd374580d2 /test/boot
parenteca985905d7956ca69e1abfe9ef1d3eb5c64c0a9 (diff)
boot: Add a flag for whether there are global bootmeths
The current 'doing_global' refers to being in the state of processing global bootmeths. Since global bootmeths are currently used once at the start, it becomes false once the last global bootmeth has been used. In preparation for allowing bootmeths to run at other points in the bootstd interation, add a new 'have_global' flag which tracks whether there are any global bootmeths in the method_order[] list. It is set up when iteration starts. Unlike doing_global which resets back to false after the global bootmeths have been handled, once have_global is set to true, it remains true for the entire iteration process. This provides a quick check as to whether global-bootmeth processing is needed. Signed-off-by: Simon Glass <[email protected]>
Diffstat (limited to 'test/boot')
-rw-r--r--test/boot/bootflow.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/test/boot/bootflow.c b/test/boot/bootflow.c
index 07bf239485c..83fb646babf 100644
--- a/test/boot/bootflow.c
+++ b/test/boot/bootflow.c
@@ -308,6 +308,7 @@ static int bootflow_iter(struct unit_test_state *uts)
ut_asserteq_str("extlinux", iter.method->name);
ut_asserteq(0, bflow.err);
ut_assert(!iter.doing_global);
+ ut_assert(!iter.have_global);
ut_asserteq(-1, iter.first_glob_method);
/*
@@ -405,6 +406,7 @@ static int bootflow_iter_glob(struct unit_test_state *uts)
BOOTFLOWIF_SHOW, &bflow));
ut_asserteq(3, iter.num_methods);
ut_assert(iter.doing_global);
+ ut_assert(iter.have_global);
ut_asserteq(2, iter.first_glob_method);
ut_asserteq(2, iter.cur_method);
@@ -421,6 +423,7 @@ static int bootflow_iter_glob(struct unit_test_state *uts)
ut_asserteq(2, iter.num_methods);
ut_asserteq(2, iter.first_glob_method);
ut_assert(!iter.doing_global);
+ ut_assert(iter.have_global);
ut_asserteq(0, iter.cur_method);
ut_asserteq(0, iter.part);
@@ -486,6 +489,7 @@ static int bootflow_iter_disable(struct unit_test_state *uts)
/* at this point the global bootmeths are stranded above num_methods */
ut_asserteq(3, iter.num_methods);
ut_assert(!iter.doing_global);
+ ut_assert(iter.have_global);
ut_asserteq(3, iter.first_glob_method);
ut_asserteq_str("sandbox", iter.method->name);
ut_assertok(inject_response(uts));