Skip to content
Snippets Groups Projects
Commit c5a62d4a authored by Simon Glass's avatar Simon Glass
Browse files

sandbox: Add -i option to enter interactive mode


Normally when U-Boot starts with a command (-c option) it quits when the
command completes. Normally this is what is requires, since the test is
likely complete.

Provide an option to jump into the console instead, so that debugging or
other tasks may be performed before quitting.

Signed-off-by: default avatarSimon Glass <sjg@chromium.org>
Signed-off-by: default avatarSimon Glass <sjg@chromium.org>
parent 91b136c7
No related branches found
No related tags found
No related merge requests found
...@@ -77,6 +77,7 @@ int sandbox_main_loop_init(void) ...@@ -77,6 +77,7 @@ int sandbox_main_loop_init(void)
/* Execute command if required */ /* Execute command if required */
if (state->cmd) { if (state->cmd) {
run_command_list(state->cmd, -1, 0); run_command_list(state->cmd, -1, 0);
if (!state->interactive)
os_exit(state->exit_type); os_exit(state->exit_type);
} }
...@@ -98,6 +99,15 @@ static int sandbox_cmdline_cb_fdt(struct sandbox_state *state, const char *arg) ...@@ -98,6 +99,15 @@ static int sandbox_cmdline_cb_fdt(struct sandbox_state *state, const char *arg)
} }
SANDBOX_CMDLINE_OPT_SHORT(fdt, 'd', 1, "Specify U-Boot's control FDT"); SANDBOX_CMDLINE_OPT_SHORT(fdt, 'd', 1, "Specify U-Boot's control FDT");
static int sandbox_cmdline_cb_interactive(struct sandbox_state *state,
const char *arg)
{
state->interactive = true;
return 0;
}
SANDBOX_CMDLINE_OPT_SHORT(interactive, 'i', 0, "Enter interactive mode");
int main(int argc, char *argv[]) int main(int argc, char *argv[])
{ {
struct sandbox_state *state; struct sandbox_state *state;
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
#define __SANDBOX_STATE_H #define __SANDBOX_STATE_H
#include <config.h> #include <config.h>
#include <stdbool.h>
/* How we exited U-Boot */ /* How we exited U-Boot */
enum exit_type_id { enum exit_type_id {
...@@ -23,6 +24,7 @@ struct sandbox_spi_info { ...@@ -23,6 +24,7 @@ struct sandbox_spi_info {
/* The complete state of the test system */ /* The complete state of the test system */
struct sandbox_state { struct sandbox_state {
const char *cmd; /* Command to execute */ const char *cmd; /* Command to execute */
bool interactive; /* Enable cmdline after execute */
const char *fdt_fname; /* Filename of FDT binary */ const char *fdt_fname; /* Filename of FDT binary */
enum exit_type_id exit_type; /* How we exited U-Boot */ enum exit_type_id exit_type; /* How we exited U-Boot */
const char *parse_err; /* Error to report from parsing */ const char *parse_err; /* Error to report from parsing */
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment