Martin L Roth has submitted this change. ( https://review.coreboot.org/c/coreboot/+/67191 )
Change subject: util/lint/lint: Add command line parsing ......................................................................
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 --- M util/lint/lint 1 file changed, 49 insertions(+), 6 deletions(-)
Approvals: build bot (Jenkins): Verified Raul Rangel: Looks good to me, approved
diff --git a/util/lint/lint b/util/lint/lint index 6bf982d..3c1e599 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 @@ 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 @@ 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