From 86008930172055db72849bd5e2cea01adc8e4b0d Mon Sep 17 00:00:00 2001 From: Martin Roth Date: Sat, 1 Sep 2018 14:54:33 -0600 Subject: 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 Reviewed-on: https://review.coreboot.org/28429 Tested-by: build bot (Jenkins) Reviewed-by: Werner Zeh --- util/lint/lint-stable-003-whitespace | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) (limited to 'util/lint') 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$|\|\|\|_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$|\|\|\|_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 -- cgit v1.2.3