David Hendricks (dhendrix@chromium.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/4049
-gerrit
commit 41af4bac43cba432e00b49d47e8b69f04b93edfa Author: David Hendricks dhendrix@chromium.org Date: Tue Nov 12 17:24:42 2013 -0800
board_status.sh: add support for non-fatal commands
This adds cmd_nonfatal() for commands which are considered non-essential and can be expected to fail safely. This can be used, for example, to gather data that is generated when using non-standard utilities or coreboot config options.
Change-Id: Ie43944d2eb73f9aae1c30c3a204cfc413e11d286 Signed-off-by: David Hendricks dhendrix@chromium.org --- util/board_status/board_status.sh | 36 +++++++++++++++++++++++++++--------- 1 file changed, 27 insertions(+), 9 deletions(-)
diff --git a/util/board_status/board_status.sh b/util/board_status/board_status.sh index 84319f1..f7300bd 100644 --- a/util/board_status/board_status.sh +++ b/util/board_status/board_status.sh @@ -46,14 +46,10 @@ test_cmd() exit $EXIT_FAILURE }
-# run a command -# -# $1: 0 to run command locally, 1 to run remotely if remote host defined -# $2: command -cmd() +_cmd() { if [ -e "$2" ]; then - return + return $EXIT_FAILURE fi
if [[ $1 -eq $REMOTE && -n "$REMOTE_HOST" ]]; then @@ -61,6 +57,15 @@ cmd() else $2 fi +} + +# run a command +# +# $1: 0 to run command locally, 1 to run remotely if remote host defined +# $2: command +cmd() +{ + _cmd $1 $2
if [ $? -eq 0 ]; then return @@ -70,6 +75,21 @@ cmd() exit $EXIT_FAILURE }
+# run a command where failure is considered to be non-fatal +# +# $1: 0 to run command locally, 1 to run remotely if remote host defined +# $2: command +cmd_nonfatal() +{ + _cmd $1 $2 + + if [ $? -eq 0 ]; then + return + fi + + echo "Failed to run command: $2" +} + show_help() { echo "Usage: ${0} <option> @@ -144,9 +164,7 @@ printf "Timestamp: %s\n" "$timestamp" >> ${tmpdir}/${results}/revision.txt
test_cmd $REMOTE "cbmem" cmd $REMOTE "cbmem -c" > ${tmpdir}/${results}/coreboot_console.txt - -# TODO: Some commands should be optional and be non-fatal in case of error. -#cmd $REMOTE "cbmem -t" > ${outdir}/coreboot_timestamps.txt +cmd_nonfatal $REMOTE "cbmem -t" > ${tmpdir}/${results}/coreboot_timestamps.txt
cmd $REMOTE dmesg > ${tmpdir}/${results}/kernel_log.txt