From 7a4cc89bbcce6ef560ac729a536eb6e939bf58fe Mon Sep 17 00:00:00 2001 From: David de Kloet Date: Fri, 9 Dec 2016 23:06:51 +0100 Subject: [PATCH] goclean.sh: Make it more robust Fail fast if glide or gometalinter isn't available. And also fail if running glide or gometalinter fails. Before goclean.sh could pass even if glide or gometalinter wasn't available at all. It seems that even though we use `set -ex`, their failure was hidden either inside the $() or behind the pipe. --- goclean.sh | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/goclean.sh b/goclean.sh index af174b2a..2f7f95cf 100755 --- a/goclean.sh +++ b/goclean.sh @@ -13,6 +13,22 @@ set -ex +# Make sure glide is installed and $GOPATH/bin is in your path. +# $ go get -u github.com/Masterminds/glide +# $ glide install +if [ ! -x "$(type -p glide)" ]; then + exit 1 +fi + +# Make sure gometalinter is installed and $GOPATH/bin is in your path. +# $ go get -v github.com/alecthomas/gometalinter" +# $ gometalinter --install" +if [ ! -x "$(type -p gometalinter)" ]; then + exit 1 +fi + +linter_targets=$(glide novendor) + # Automatic checks test -z "$(gometalinter --disable-all \ --enable=gofmt \ @@ -20,8 +36,8 @@ test -z "$(gometalinter --disable-all \ --enable=vet \ --enable=gosimple \ --enable=unconvert \ ---deadline=4m $(glide novendor) | grep -v 'ALL_CAPS\|OP_' 2>&1 | tee /dev/stderr)" -env GORACE="halt_on_error=1" go test -race -tags rpctest $(glide novendor) +--deadline=4m $linter_targets 2>&1 | grep -v 'ALL_CAPS\|OP_' 2>&1 | tee /dev/stderr)" +env GORACE="halt_on_error=1" go test -race -tags rpctest $linter_targets # Run test coverage on each subdirectories and merge the coverage profile.