From 1c17562f07ca974090827f44a8195d876edac613 Mon Sep 17 00:00:00 2001 From: Achilleas Anagnostopoulos Date: Mon, 15 May 2017 06:55:14 +0100 Subject: [PATCH] Add lint Makefile target --- .travis.yml | 1 + Makefile | 26 ++++++++++++++++++++++++++ coverage.sh | 6 +----- 3 files changed, 28 insertions(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index 583c83f..d807a66 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,6 +5,7 @@ go: before_install: - go get -t -v ./... script: + - make lint - bash coverage.sh after_success: - bash <(curl -s https://codecov.io/bash) diff --git a/Makefile b/Makefile index d189eee..fd76bca 100644 --- a/Makefile +++ b/Makefile @@ -112,3 +112,29 @@ endif clean: @test -d $(BUILD_DIR) && rm -rf $(BUILD_DIR) || true + +lint: lint-check-deps + @echo "[gometalinter] linting sources" + @gometalinter.v1 \ + --disable-all \ + --enable=deadcode \ + --enable=errcheck \ + --enable=gosimple \ + --enable=ineffassign \ + --enable=misspell \ + --enable=staticcheck \ + --enable=vet \ + --enable=vetshadow \ + --enable=unconvert \ + --enable=varcheck \ + --enable=golint \ + --deadline 300s \ + --exclude 'return value not checked' \ + --exclude 'possible misuse of unsafe.Pointer' \ + ./... + +lint-check-deps: + @go get -u gopkg.in/alecthomas/gometalinter.v1 + @gometalinter.v1 --install >/dev/null + +test: diff --git a/coverage.sh b/coverage.sh index 767dc9e..e8285da 100644 --- a/coverage.sh +++ b/coverage.sh @@ -1,14 +1,10 @@ #!/usr/bin/env bash set -e -go test -v -race ./... - echo "" > coverage.txt for d in $(go list ./... | grep -v vendor); do - # Running with -race and -covermode=atomic generates false positives so - # we run the -race bit separately - go test -coverprofile=profile.out -covermode=atomic $d + go test -race -coverprofile=profile.out -covermode=atomic $d if [ -f profile.out ]; then cat profile.out >> coverage.txt rm profile.out