Patrick Georgi (patrick@georgi-clan.de) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/681
-gerrit
commit c0f82a75b480ad90d9b4eff48a1ebf08ef592aec Author: Patrick Georgi patrick@georgi-clan.de Date: Sat Feb 25 19:42:59 2012 +0100
lint: create two classes of tests, stable and dev
We have tests that pass (and should be enforced soonish) and those that don't pass yet (and thus shouldn't break the build).
The plan is simple: As soon as a test passes, it's marked stable so things remain that way.
"make lint" runs all tests, "make lint-stable" runs only those that shouldn't fail.
Change-Id: Iaa85d71141606d9756e29b37c7a34c2a15e573ac Signed-off-by: Patrick Georgi patrick@georgi-clan.de --- Makefile.inc | 6 +- util/lint/lint-002-build-dir-handling | 63 -------------------------- util/lint/lint-003-whitespace | 39 ---------------- util/lint/lint-stable-002-build-dir-handling | 63 ++++++++++++++++++++++++++ util/lint/lint-stable-003-whitespace | 39 ++++++++++++++++ 5 files changed, 105 insertions(+), 105 deletions(-)
diff --git a/Makefile.inc b/Makefile.inc index e12cc92..0f040e9 100644 --- a/Makefile.inc +++ b/Makefile.inc @@ -34,7 +34,7 @@ coreboot: $(obj)/coreboot.rom
####################################################################### # our phony targets -PHONY+= clean-abuild coreboot +PHONY+= clean-abuild coreboot lint lint-stable
####################################################################### # root source directories of coreboot @@ -218,9 +218,9 @@ printcrt0s: update: dongle.py -c /dev/term/1 $(obj)/coreboot.rom EOF
-lint: +lint lint-stable: FAILED=0; LINTLOG=`mktemp`; \ - for script in util/lint/lint-*; do \ + for script in util/lint/$@-*; do \ echo; echo `basename $$script`; \ grep "^# DESCR:" $$script | sed "s,.*DESCR: *,," ; \ echo ========; \ diff --git a/util/lint/lint-002-build-dir-handling b/util/lint/lint-002-build-dir-handling deleted file mode 100755 index c4f57d6..0000000 --- a/util/lint/lint-002-build-dir-handling +++ /dev/null @@ -1,63 +0,0 @@ -#!/bin/sh -# This file is part of the coreboot project. -# -# Copyright (C) 2011 Patrick Georgi patrick@georgi-clan.de -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; version 2 of the License. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -# -# DESCR: Check that build directories can be chosen freely - -# $1: command to test for GNU make -search_make() { -if [ -n "`$1 --version 2>&1 |grep GNU`" ]; then MAKE=$1; fi -} - -# if $1 and $2 differ, exit with failure -compare_output() { -if ! [ "$1" = "$2" ]; then - echo '$1' should be '$2' - exit 1 -fi -} - -# $1: object directory -run_printall() { -$MAKE CONFIG_CCACHE=n CONFIG_SCANBUILD_ENABLE=n NOMKDIR=1 DOTCONFIG=$TMPCONFIG obj=$1 printall |sed -e "s,^ *,," -e "s, ,\n,g" -e "s,^ramstage-objs:=,," -e "s,mainboard/[^/]*/[^/]*/,.../," |grep "/static.*.[co]" |sort |tr '\012\015' ' ' |sed -e "s, *, ,g" -e "s, *$,," -} - -# find GNU make -search_make make -search_make gmake -search_make gnumake - -if [ "$MAKE" = "" ]; then - echo Could not identify GNU make - exit 1 -fi - -# prepare a config to use -TMPCONFIG=`mktemp .tmpconfig.XXXXXX` -rm -f $TMPCONFIG -$MAKE NOMKDIR=1 DOTCONFIG=$TMPCONFIG allyesconfig >/dev/null - -# look up parent directory -PARENTDIR=`dirname $PWD` - -compare_output "`run_printall build`" "build/.../static.c build/.../static.ramstage.o" -compare_output "`run_printall ../obj`" "$PARENTDIR/obj/.../static.c $PARENTDIR/obj/.../static.ramstage.o" -compare_output "`run_printall /tmp`" "/tmp/.../static.c /tmp/.../static.ramstage.o" -compare_output "`run_printall /../tmp`" "/tmp/.../static.c /tmp/.../static.ramstage.o" - -rm -f $TMPCONFIG - diff --git a/util/lint/lint-003-whitespace b/util/lint/lint-003-whitespace deleted file mode 100755 index fe305bf..0000000 --- a/util/lint/lint-003-whitespace +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/sh -# This file is part of the coreboot project. -# -# Copyright (C) 2011 Patrick Georgi patrick@georgi-clan.de -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; version 2 of the License. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -# -# DESCR: Check for superfluous whitespace in the tree - -LC_ALL=C export LC_ALL -find src util -name .svn -type d -prune -o \ - -name .git -type d -prune -o \ - -name README -prune -o \ - -name LICENSE -prune -o \ - -name TODO -prune -o \ - -name COPYING -prune -o \ - -name *.txt -prune -o \ - -name microcode-*.h -prune -o \ - -name *.?_shipped -prune -o \ - -name *.[18] -prune -o \ - -name kconfig -type d -prune -o \ - -name romcc -type d -prune -o \ - -name crossgcc -type d -prune -o \ - -name vendorcode -type d -prune -o \ - -type f -exec \ - grep -l "[[:space:]][[:space:]]*$" {} + | \ - sed -e "s,^.*$,File & has lines ending with whitespace.," - diff --git a/util/lint/lint-stable-002-build-dir-handling b/util/lint/lint-stable-002-build-dir-handling new file mode 100755 index 0000000..c4f57d6 --- /dev/null +++ b/util/lint/lint-stable-002-build-dir-handling @@ -0,0 +1,63 @@ +#!/bin/sh +# This file is part of the coreboot project. +# +# Copyright (C) 2011 Patrick Georgi patrick@georgi-clan.de +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 2 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# +# DESCR: Check that build directories can be chosen freely + +# $1: command to test for GNU make +search_make() { +if [ -n "`$1 --version 2>&1 |grep GNU`" ]; then MAKE=$1; fi +} + +# if $1 and $2 differ, exit with failure +compare_output() { +if ! [ "$1" = "$2" ]; then + echo '$1' should be '$2' + exit 1 +fi +} + +# $1: object directory +run_printall() { +$MAKE CONFIG_CCACHE=n CONFIG_SCANBUILD_ENABLE=n NOMKDIR=1 DOTCONFIG=$TMPCONFIG obj=$1 printall |sed -e "s,^ *,," -e "s, ,\n,g" -e "s,^ramstage-objs:=,," -e "s,mainboard/[^/]*/[^/]*/,.../," |grep "/static.*.[co]" |sort |tr '\012\015' ' ' |sed -e "s, *, ,g" -e "s, *$,," +} + +# find GNU make +search_make make +search_make gmake +search_make gnumake + +if [ "$MAKE" = "" ]; then + echo Could not identify GNU make + exit 1 +fi + +# prepare a config to use +TMPCONFIG=`mktemp .tmpconfig.XXXXXX` +rm -f $TMPCONFIG +$MAKE NOMKDIR=1 DOTCONFIG=$TMPCONFIG allyesconfig >/dev/null + +# look up parent directory +PARENTDIR=`dirname $PWD` + +compare_output "`run_printall build`" "build/.../static.c build/.../static.ramstage.o" +compare_output "`run_printall ../obj`" "$PARENTDIR/obj/.../static.c $PARENTDIR/obj/.../static.ramstage.o" +compare_output "`run_printall /tmp`" "/tmp/.../static.c /tmp/.../static.ramstage.o" +compare_output "`run_printall /../tmp`" "/tmp/.../static.c /tmp/.../static.ramstage.o" + +rm -f $TMPCONFIG + diff --git a/util/lint/lint-stable-003-whitespace b/util/lint/lint-stable-003-whitespace new file mode 100755 index 0000000..fe305bf --- /dev/null +++ b/util/lint/lint-stable-003-whitespace @@ -0,0 +1,39 @@ +#!/bin/sh +# This file is part of the coreboot project. +# +# Copyright (C) 2011 Patrick Georgi patrick@georgi-clan.de +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 2 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# +# DESCR: Check for superfluous whitespace in the tree + +LC_ALL=C export LC_ALL +find src util -name .svn -type d -prune -o \ + -name .git -type d -prune -o \ + -name README -prune -o \ + -name LICENSE -prune -o \ + -name TODO -prune -o \ + -name COPYING -prune -o \ + -name *.txt -prune -o \ + -name microcode-*.h -prune -o \ + -name *.?_shipped -prune -o \ + -name *.[18] -prune -o \ + -name kconfig -type d -prune -o \ + -name romcc -type d -prune -o \ + -name crossgcc -type d -prune -o \ + -name vendorcode -type d -prune -o \ + -type f -exec \ + grep -l "[[:space:]][[:space:]]*$" {} + | \ + sed -e "s,^.*$,File & has lines ending with whitespace.," +