coreboot-kgpe-d16/util/lint/lint
Martin Roth 0ad5fbd48d util: Update all shebangs to use /usr/bin/env
Instead of hardcoding paths to the executables, use the version in the
path.  This allows the scripts to work on more systems, and allows the
binary version to be changed more easily if needed.

Signed-off-by: Martin Roth <martin@coreboot.org>
Change-Id: Ifcc56aa21092cd3866eacb6a02d198110ec6051d
Reviewed-on: https://review.coreboot.org/c/coreboot/+/48904
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
2021-01-25 08:57:40 +00:00

66 lines
1.6 KiB
Bash
Executable file

#!/usr/bin/env sh
#
#
# SPDX-License-Identifier: GPL-2.0-only
#set -x # uncomment for debug
usage () {
printf "Usage: %s <lint|lint-stable|lint-extended> [--junit]\n" "$0"
}
#write to the junit xml file if --junit was specified
junit_write () {
if [ "$JUNIT" -eq 1 ]; then
echo "$1" >> "$XMLFILE"
fi
}
#verify the first command line parameter
if [ -z "$1" ] || [ "$1" != "lint" ] && [ "$1" != "lint-stable" ] && \
[ "$1" != "lint-extended" ]; then
usage
exit 1
fi
LINTLOG=$(mktemp .tmpconfig.lintXXXXXX);
XMLFILE="$(dirname "$0")/junit.xml"
if [ "$1" = "lint-extended" ]; then
XMLFILE="$(dirname "$0")/extended-junit.xml"
fi
FAILED=0;
#check optional second command line parameter.
if [ "$2" = "--junit" ]; then
JUNIT=1
echo '<?xml version="1.0" encoding="utf-8"?>' > "$XMLFILE"
junit_write '<testsuite>'
else
JUNIT=0
fi
#run all scripts of the requested type
for script in "$(dirname "$0")/${1}-"*; do
printf "%s " "$(grep '^# DESCR:' "$script" | sed 's,.*DESCR: *,,')"
printf "(%s): " "$(basename "$script")"
junit_write " <testcase classname='lint' name='$(basename "$script")'>"
$script | tee "$LINTLOG"
#if the lint script gives any output, that's a failure
if [ "$(wc -l < "$LINTLOG")" -eq 0 ]; then
echo "success"
junit_write " <system-out><![CDATA[success]]></system-out>"
else
echo "test failed"
junit_write " <failure type='testFailed'><![CDATA["
junit_write "$(cat "$LINTLOG")"
junit_write "]]></failure>"
rm -f "$LINTLOG"
FAILED=$(( FAILED + 1 ))
fi
junit_write ' </testcase>'
done
rm -f "$LINTLOG"
junit_write '</testsuite>'
test $FAILED -eq 0 || { echo "ERROR: $FAILED test(s) failed."; exit 1; };