cli: add modern hush as parser for run_command*()

Enables using, in code, modern hush as parser for run_command function family.
It also enables the command run to be used by CLI user of modern hush.

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Francis Laniel <francis.laniel@amarulasolutions.com>
This commit is contained in:
Francis Laniel 2023-12-22 22:02:35 +01:00 committed by Tom Rini
parent 3b13faf9f3
commit 3ea3c57ef5
3 changed files with 65 additions and 18 deletions

View file

@ -710,7 +710,21 @@ static int bootflow_scan_menu_boot(struct unit_test_state *uts)
ut_assert_skip_to_line("(2 bootflows, 2 valid)");
ut_assert_nextline("Selected: Armbian");
ut_assert_skip_to_line("Boot failed (err=-14)");
if (gd->flags & GD_FLG_HUSH_OLD_PARSER) {
/*
* With old hush, despite booti failing to boot, i.e. returning
* CMD_RET_FAILURE, run_command() returns 0 which leads bootflow_boot(), as
* we are using bootmeth_script here, to return -EFAULT.
*/
ut_assert_skip_to_line("Boot failed (err=-14)");
} else if (gd->flags & GD_FLG_HUSH_MODERN_PARSER) {
/*
* While with modern one, run_command() propagates CMD_RET_FAILURE returned
* by booti, so we get 1 here.
*/
ut_assert_skip_to_line("Boot failed (err=1)");
}
ut_assertnonnull(std->cur_bootflow);
ut_assert_console_end();