crash_sender: add support for command line options
This lets us pass in custom env var settings w/out manipulating the
environment. This makes execution a bit simpler in some cases.
BUG=chromium:275910
TEST=`cbuildbot {arm,amd64,x86}-generic-full` works
TEST=`crash_sender` on board works
Change-Id: Icc32d7a179fee6a2e28d105d5790b2c55f12158b
Reviewed-on: https://chromium-review.googlesource.com/169571
Reviewed-by: Ben Chan <benchan@chromium.org>
Commit-Queue: Mike Frysinger <vapier@chromium.org>
Tested-by: Mike Frysinger <vapier@chromium.org>
This commit is contained in:
parent
49a7c92023
commit
8a17bb928a
1 changed files with 46 additions and 1 deletions
|
|
@ -553,8 +553,53 @@ send_crashes() {
|
|||
done
|
||||
}
|
||||
|
||||
usage() {
|
||||
cat <<EOF
|
||||
Usage: crash_sender [options]
|
||||
|
||||
Options:
|
||||
-e <var>=<val> Set env |var| to |val| (only some vars)
|
||||
EOF
|
||||
exit ${1:-1}
|
||||
}
|
||||
|
||||
parseargs() {
|
||||
# Parse the command line arguments.
|
||||
while [ $# -gt 0 ]; do
|
||||
case $1 in
|
||||
-e)
|
||||
shift
|
||||
case $1 in
|
||||
FORCE_OFFICIAL=*|\
|
||||
MAX_CRASH_RATE=*|\
|
||||
MOCK_DEVELOPER_MODE=*|\
|
||||
OVERRIDE_PAUSE_SENDING=*|\
|
||||
SECONDS_SEND_SPREAD=*)
|
||||
export "$1"
|
||||
;;
|
||||
*)
|
||||
lecho "Unknown var passed to -e: $1"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
-h)
|
||||
usage 0
|
||||
;;
|
||||
*)
|
||||
lecho "Uknown options: $*"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
}
|
||||
|
||||
main() {
|
||||
trap cleanup EXIT INT TERM
|
||||
|
||||
parseargs "$@"
|
||||
|
||||
if [ -e "${PAUSE_CRASH_SENDING}" ] && \
|
||||
[ ${OVERRIDE_PAUSE_SENDING} -eq 0 ]; then
|
||||
lecho "Exiting early due to ${PAUSE_CRASH_SENDING}."
|
||||
|
|
@ -593,5 +638,5 @@ if ! flock -n 9; then
|
|||
lecho "crash_sender is already running; quitting."
|
||||
exit 1
|
||||
fi
|
||||
main
|
||||
main "$@"
|
||||
) 9>"${CRASH_SENDER_LOCK}"
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue