Skip to content
Snippets Groups Projects
Commit 88539e44 authored by Joe Hershberger's avatar Joe Hershberger Committed by Simon Glass
Browse files

sandbox: Return '-c command' exit value as sandbox exit code


When a command is passed into sandbox using the '-c' argument the
command is run directly. This is most helpful when running tests (such
as test-dm.sh). Previously the exit code was an unused enum. Change it
to be the actual return code from the command so that the script calling
sandbox can know if the command succeeded (tests passed).  Also remove
the now completely unused "exit_state" in sandbox.

Signed-off-by: default avatarJoe Hershberger <joe.hershberger@ni.com>
Acked-by: default avatarSimon Glass <sjg@chromium.org>
parent d9088983
No related branches found
No related tags found
No related merge requests found
...@@ -78,11 +78,13 @@ int sandbox_main_loop_init(void) ...@@ -78,11 +78,13 @@ int sandbox_main_loop_init(void)
/* Execute command if required */ /* Execute command if required */
if (state->cmd) { if (state->cmd) {
int retval;
cli_init(); cli_init();
run_command_list(state->cmd, -1, 0); retval = run_command_list(state->cmd, -1, 0);
if (!state->interactive) if (!state->interactive)
os_exit(state->exit_type); os_exit(retval);
} }
return 0; return 0;
......
...@@ -13,11 +13,6 @@ ...@@ -13,11 +13,6 @@
static struct sandbox_state main_state; static struct sandbox_state main_state;
static struct sandbox_state *state; /* Pointer to current state record */ static struct sandbox_state *state; /* Pointer to current state record */
void state_record_exit(enum exit_type_id exit_type)
{
state->exit_type = exit_type;
}
static int state_ensure_space(int extra_size) static int state_ensure_space(int extra_size)
{ {
void *blob = state->state_fdt; void *blob = state->state_fdt;
......
...@@ -10,13 +10,6 @@ ...@@ -10,13 +10,6 @@
#include <stdbool.h> #include <stdbool.h>
#include <linux/stringify.h> #include <linux/stringify.h>
/* How we exited U-Boot */
enum exit_type_id {
STATE_EXIT_NORMAL,
STATE_EXIT_COLD_REBOOT,
STATE_EXIT_POWER_OFF,
};
/** /**
* Selects the behavior of the serial terminal. * Selects the behavior of the serial terminal.
* *
...@@ -50,7 +43,6 @@ struct sandbox_state { ...@@ -50,7 +43,6 @@ struct sandbox_state {
const char *cmd; /* Command to execute */ const char *cmd; /* Command to execute */
bool interactive; /* Enable cmdline after 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 */
const char *parse_err; /* Error to report from parsing */ const char *parse_err; /* Error to report from parsing */
int argc; /* Program arguments */ int argc; /* Program arguments */
char **argv; /* Command line arguments */ char **argv; /* Command line arguments */
...@@ -138,13 +130,6 @@ struct sandbox_state_io { ...@@ -138,13 +130,6 @@ struct sandbox_state_io {
.compat = _compat, \ .compat = _compat, \
} }
/**
* Record the exit type to be reported by the test program.
*
* @param exit_type Exit type to record
*/
void state_record_exit(enum exit_type_id exit_type);
/** /**
* Gets a pointer to the current state. * Gets a pointer to the current state.
* *
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment