summaryrefslogtreecommitdiffstats
path: root/util
diff options
context:
space:
mode:
authorMartin Roth <gaumless@gmail.com>2022-08-21 13:25:55 -0600
committerMartin L Roth <gaumless@gmail.com>2022-09-03 23:49:53 +0000
commit8ea8d856f39ecc75a7f1c4084f90c525f3c3e69b (patch)
tree5130d0bf12b161ee9d7aa0c0643bb6b62cd9b33c /util
parent39914a50ae16756262b29b35a2142b9833680b6b (diff)
downloadcoreboot-8ea8d856f39ecc75a7f1c4084f90c525f3c3e69b.tar.gz
coreboot-8ea8d856f39ecc75a7f1c4084f90c525f3c3e69b.tar.bz2
coreboot-8ea8d856f39ecc75a7f1c4084f90c525f3c3e69b.zip
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')
-rwxr-xr-xutil/lint/lint37
1 files changed, 31 insertions, 6 deletions
diff --git a/util/lint/lint b/util/lint/lint
index 6bf982d1afa0..3c1e5994c0e0 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