diff options
author | Martin Roth <gaumless@gmail.com> | 2022-08-21 13:25:55 -0600 |
---|---|---|
committer | Martin L Roth <gaumless@gmail.com> | 2022-09-03 23:49:53 +0000 |
commit | 8ea8d856f39ecc75a7f1c4084f90c525f3c3e69b (patch) | |
tree | 5130d0bf12b161ee9d7aa0c0643bb6b62cd9b33c /util/lint | |
parent | 39914a50ae16756262b29b35a2142b9833680b6b (diff) |
util/lint/lint: Add command line parsing
The lint script just did very basic argument parsing and required the
sub-command and --junit argument to be in specific locations. I'm
adding additional commands, so the first step is to add true command
line parsing.
Signed-off-by: Martin Roth <gaumless@gmail.com>
Change-Id: I7118c29e6c5d785b35a7ae12cf5984c43ebc3ab9
Reviewed-on: https://review.coreboot.org/c/coreboot/+/67191
Reviewed-by: Raul Rangel <rrangel@chromium.org>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'util/lint')
-rwxr-xr-x | util/lint/lint | 37 |
1 files changed, 31 insertions, 6 deletions
diff --git a/util/lint/lint b/util/lint/lint index 6bf982d1af..3c1e5994c0 100755 --- a/util/lint/lint +++ b/util/lint/lint @@ -5,6 +5,8 @@ #set -x # uncomment for debug +JUNIT=0 + usage () { printf "Usage: %s <lint|lint-stable|lint-extended> [--junit]\n" "$0" } @@ -16,9 +18,36 @@ junit_write () { fi } +if ! cmd_args="$(getopt -l help,junit -o hJ -- "$@")"; then + usage + exit 0 +fi +eval set -- "${cmd_args}" + +while true; do + case "$1" in + -h | --help) + usage + exit 0 + ;; + -J | --junit) + echo "selected junit" + JUNIT=1 + ;; + --) shift; break ;; + *) break ;; + esac + shift +done + #verify the first command line parameter -if [ -z "$1" ] || [ "$1" != "lint" ] && [ "$1" != "lint-stable" ] && \ +if [ -z "$1" ]; then + echo "Error: A sub-command is needed." + usage + exit 1 +elif [ "$1" != "lint" ] && [ "$1" != "lint-stable" ] && [ "$1" != "lint-extended" ]; then + echo "Error: $1 is not a valid sub-command." usage exit 1 fi @@ -30,13 +59,9 @@ if [ "$1" = "lint-extended" ]; then fi FAILED=0; -#check optional second command line parameter. -if [ "$2" = "--junit" ]; then - JUNIT=1 +if [ "${JUNIT}" -eq 1 ]; then echo '<?xml version="1.0" encoding="utf-8"?>' > "$XMLFILE" junit_write '<testsuite>' -else - JUNIT=0 fi #run all scripts of the requested type |