summaryrefslogtreecommitdiff
path: root/util/lint
diff options
context:
space:
mode:
authorMartin Roth <martinr@coreboot.org>2018-09-01 14:54:33 -0600
committerPatrick Georgi <pgeorgi@google.com>2018-09-04 12:38:18 +0000
commit86008930172055db72849bd5e2cea01adc8e4b0d (patch)
treec08a946b0426f716cee8dc9d49a4fc17420f548f /util/lint
parentfe68ab9fd1273b4c6d5cb2efca7ed3a60d2369ee (diff)
util/lint: Update whitespace linter for FreeBSD
On FreeBSD, this test was failing with the error: "grep: Argument list too long" I found that changing this to other forms takes MUCH longer, so I left the original method mostly unchanged except for moving the include & exclude lists into variables. Currently, I'm setting all non-linux operating systems to use the second version. I'll update that if I find other that other OSes support the first. Change-Id: I1c9281440d051dea8a8b3a3ddc04676ccea77c7a Signed-off-by: Martin Roth <martinr@coreboot.org> Reviewed-on: https://review.coreboot.org/28429 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Werner Zeh <werner.zeh@siemens.com>
Diffstat (limited to 'util/lint')
-rwxr-xr-xutil/lint/lint-stable-003-whitespace20
1 files changed, 18 insertions, 2 deletions
diff --git a/util/lint/lint-stable-003-whitespace b/util/lint/lint-stable-003-whitespace
index d749f3700e..1a7dc7b2fe 100755
--- a/util/lint/lint-stable-003-whitespace
+++ b/util/lint/lint-stable-003-whitespace
@@ -15,5 +15,21 @@
# DESCR: Check for superfluous whitespace in the tree
LC_ALL=C export LC_ALL
-grep -l "[[:space:]][[:space:]]*$" `git ls-files src util |egrep -v "(^3rdparty|^src/vendorcode/|^util/kconfig/|^util/nvidia/cbootimage$|\<COPYING\>|\<LICENSE\>|\<README\>|_shipped$|\.patch$|\.bin$|\.hex$|\.jpg$|\.ttf$|\.woff$|\.png$|\.eot$|\.vbt$)"` | \
- sed -e "s,^.*$,File & has lines ending with whitespace.,"
+EXCLUDELIST='^3rdparty|^src/vendorcode/|^util/kconfig/|^util/nvidia/cbootimage$|\<COPYING\>|\<LICENSE\>|\<README\>|_shipped$|\.patch$|\.bin$|\.hex$|\.jpg$|\.ttf$|\.woff$|\.png$|\.eot$|\.vbt$'
+INCLUDELIST="src util"
+
+# shellcheck disable=SC2086,SC2046
+if uname | grep -qi "linux"; then
+ grep -l "[[:space:]][[:space:]]*$" \
+ $(git ls-files $INCLUDELIST | \
+ grep -Ev "($EXCLUDELIST)" ) | \
+ sed -e "s,^.*$,File & has lines ending with whitespace.,"
+else
+ # The above form is much (100x) faster, but doesn't work
+ # on all systems. A for loop also works but takes 30% longer
+ git ls-files $INCLUDELIST | \
+ grep -Ev "($EXCLUDELIST)" | \
+ xargs -I % \
+ grep -l "[[:space:]][[:space:]]*$" % | \
+ sed -e "s,^.*$,File & has lines ending with whitespace.,"
+fi