diff options
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | Makefile.rules | 2 | ||||
-rw-r--r-- | PRESUBMIT.cfg | 2 | ||||
-rwxr-xr-x | util/presubmit_check.sh | 17 |
4 files changed, 22 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore index 1e7812abbb..9c5f02bad6 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ private/ *.pyc tags cscope.out +.tests-passed diff --git a/Makefile.rules b/Makefile.rules index 70b6e26147..8256b99106 100644 --- a/Makefile.rules +++ b/Makefile.rules @@ -67,6 +67,8 @@ targ_if_prog = $(if $(shell which $(1) 2>/dev/null),$(2),) all: $(out)/$(PROJECT).bin utils buildall: $(foreach b, $(boards), proj-$(b)) runtests + @touch .tests-passed + proj-%: @echo "======= building $*"; \ $(MAKE) --no-print-directory BOARD=$* V=$(V) diff --git a/PRESUBMIT.cfg b/PRESUBMIT.cfg index 2e8cdb6618..d02e3f3703 100644 --- a/PRESUBMIT.cfg +++ b/PRESUBMIT.cfg @@ -4,3 +4,5 @@ # The indentation is checked by checkpatch not the python script tab_check: false +[Hook Scripts] +hook0 = util/presubmit_check.sh 2>&1 diff --git a/util/presubmit_check.sh b/util/presubmit_check.sh new file mode 100755 index 0000000000..220522083e --- /dev/null +++ b/util/presubmit_check.sh @@ -0,0 +1,17 @@ +#!/bin/bash +# +# Copyright (c) 2014 The Chromium OS Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +if [[ ! -e .tests-passed ]]; then + echo 'Unit tests have not passed. Please run "make buildall -j".' + exit 1 +fi +changed=$(find ${PRESUBMIT_FILES} -newer .tests-passed) +if [[ -n "${changed}" ]]; then + echo "Files have changed since last time unit tests passed:" + echo "${changed}" | sed -e 's/^/ /' + echo 'Please run "make buildall -j".' + exit 1 +fi |