lint: Fix shellcheck warnings, add comments

When the script was pulled out of the makefile, it was left as it was
written in the makefile to show the continuity with the original.  This
patch cleans up issues identified by shellcheck and adds comments.

Change-Id: I5e6573a4fdfbb397e15db38e2e3dfadeb3430573
Signed-off-by: Martin Roth <martinroth@google.com>
Reviewed-on: http://review.coreboot.org/11931
Tested-by: build bot (Jenkins)
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-by: Patrick Georgi <pgeorgi@google.com>
This commit is contained in:
Martin Roth 2015-10-16 10:23:57 -06:00 committed by Patrick Georgi
parent b6d739d449
commit 606ca51530
1 changed files with 22 additions and 15 deletions

View File

@ -21,21 +21,25 @@ usage () {
printf "Usage: %s <lint|lint-stable> [--junit]\n" "$0" printf "Usage: %s <lint|lint-stable> [--junit]\n" "$0"
} }
#write to the junit xml file if --junit was specified
junit_write () { junit_write () {
if [ "$JUNIT" -eq 1 ]; then if [ "$JUNIT" -eq 1 ]; then
echo "$1" >> "$XMLFILE" echo "$1" >> "$XMLFILE"
fi fi
} }
#verify the first command line parameter
if [ -z "$1" ] || [ "$1" != "lint" ] && [ "$1" != "lint-stable" ]; then if [ -z "$1" ] || [ "$1" != "lint" ] && [ "$1" != "lint-stable" ]; then
usage usage
exit 1 exit 1
fi fi
LINTLOG=`mktemp .tmpconfig.lintXXXXX`; LINTLOG=$(mktemp .tmpconfig.lintXXXXX);
XMLFILE="$(dirname $0)/junit.xml" XMLFILE="$(dirname "$0")/junit.xml"
FAILED=0; FAILED=0;
#check optional second command line parameter.
#TODO: Add real command line handling if anything more is added
if [ "$2" = "--junit" ]; then if [ "$2" = "--junit" ]; then
JUNIT=1 JUNIT=1
echo '<?xml version="1.0" encoding="utf-8"?>' > "$XMLFILE" echo '<?xml version="1.0" encoding="utf-8"?>' > "$XMLFILE"
@ -43,29 +47,32 @@ if [ "$2" = "--junit" ]; then
else else
JUNIT=0 JUNIT=0
fi fi
for script in util/lint/${1}-*; do
echo #run all scripts of the requested type
echo "$(basename $script)" for script in "$(dirname "$0")/${1}-"*; do
grep "^# DESCR:" $script | sed "s,.*DESCR: *,," printf "\n%s\n" "$(basename "$script")"
grep "^# DESCR:" "$script" | sed "s,.*DESCR: *,,"
echo "========" echo "========"
junit_write " <testcase classname='lint' name='$(basename $script)'>" junit_write " <testcase classname='lint' name='$(basename "$script")'>"
$script > $LINTLOG $script > "$LINTLOG"
if [ `cat $LINTLOG | wc -l` -eq 0 ]; then
#if the lint script gives any output, that's a failure
if [ "$(wc -l < "$LINTLOG")" -eq 0 ]; then
echo "success" echo "success"
junit_write " <system-out><![CDATA[success]]></system-out>" junit_write " <system-out><![CDATA[success]]></system-out>"
else else
echo "test failed:" echo "test failed:"
cat $LINTLOG cat "$LINTLOG"
junit_write " <failure type='testFailed'><![CDATA[" junit_write " <failure type='testFailed'><![CDATA["
junit_write "$(cat $LINTLOG)" junit_write "$(cat "$LINTLOG")"
junit_write "]]></failure>" junit_write "]]></failure>"
rm -f $LINTLOG rm -f "$LINTLOG"
FAILED=$(( $FAILED + 1 )) FAILED=$(( FAILED + 1 ))
fi fi
echo "========" echo "========"
junit_write ' </testcase>' junit_write ' </testcase>'
done done
test $FAILED -eq 0 || { echo "ERROR: $FAILED test(s) failed."; rm -f $LINTLOG && exit 1; }; test $FAILED -eq 0 || { echo "ERROR: $FAILED test(s) failed."; rm -f "$LINTLOG" && exit 1; };
rm -f $LINTLOG rm -f "$LINTLOG"
junit_write '</testsuite>' junit_write '</testsuite>'