summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Hendricks <dhendrix@chromium.org>2013-11-12 17:24:42 -0800
committerDavid Hendricks <dhendrix@chromium.org>2013-11-17 10:32:07 +0100
commitf8b90e4622533947dbc21c55b21ea932eb7420c7 (patch)
tree6ee2fab3e44ae83d74e2362a4173b547f8e18177
parent1fc65f76f46c4ebef3bfd716908855f3cfb98d89 (diff)
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> Reviewed-on: http://review.coreboot.org/4049 Tested-by: build bot (Jenkins) Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
-rw-r--r--util/board_status/board_status.sh36
1 files changed, 27 insertions, 9 deletions
diff --git a/util/board_status/board_status.sh b/util/board_status/board_status.sh
index 84319f10a7..f7300bdcdd 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