[coreboot-gerrit] Change in coreboot[master]: util/lint: Update whitespace linter for FreeBSD

Martin Roth (Code Review) gerrit at coreboot.org
Sun Sep 2 01:14:13 CEST 2018


Martin Roth has uploaded this change for review. ( https://review.coreboot.org/28429


Change subject: util/lint: Update whitespace linter for FreeBSD
......................................................................

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 at coreboot.org>
---
M util/lint/lint-stable-003-whitespace
1 file changed, 18 insertions(+), 2 deletions(-)



  git pull ssh://review.coreboot.org:29418/coreboot refs/changes/29/28429/1

diff --git a/util/lint/lint-stable-003-whitespace b/util/lint/lint-stable-003-whitespace
index d749f37..1a7dc7b 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

-- 
To view, visit https://review.coreboot.org/28429
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings

Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I1c9281440d051dea8a8b3a3ddc04676ccea77c7a
Gerrit-Change-Number: 28429
Gerrit-PatchSet: 1
Gerrit-Owner: Martin Roth <martinroth at google.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.coreboot.org/pipermail/coreboot-gerrit/attachments/20180901/38055991/attachment-0001.html>


More information about the coreboot-gerrit mailing list