diff --git a/Makefile b/Makefile index 8487febf1..cadf85442 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,8 @@ GOTOOLS = \ github.com/mitchellh/gox \ github.com/Masterminds/glide \ - github.com/alecthomas/gometalinter \ + gopkg.in/alecthomas/gometalinter.v2 \ + github.com/ckaznocha/protoc-gen-lint \ github.com/gogo/protobuf/protoc-gen-gogo \ github.com/gogo/protobuf/gogoproto @@ -27,6 +28,9 @@ protoc: ## ldconfig (may require sudo) ## https://stackoverflow.com/a/25518702 protoc $(INCLUDE) --gogo_out=plugins=grpc:. types/*.proto + @ echo "--> adding nolint declarations to protobuf generated files" + @ awk '/package types/ { print "//nolint: gas"; print; next }1' types/types.pb.go > types/types.pb.go.new + @ mv types/types.pb.go.new types/types.pb.go install: @ go install ./cmd/... @@ -59,19 +63,20 @@ get_deps: ensure_tools: go get -u -v $(GOTOOLS) - @ gometalinter --install + @ gometalinter.v2 --install get_vendor_deps: ensure_tools - @rm -rf vendor/ - @echo "--> Running glide install" + @ rm -rf vendor/ + @ echo "--> Running glide install" @ glide install metalinter_all: - gometalinter --vendor --deadline=600s --enable-all --disable=lll ./... + protoc $(INCLUDE) --lint_out=. types/*.proto + gometalinter.v2 --vendor --deadline=600s --enable-all --disable=lll ./... metalinter: - @ echo "==> Running linter" - gometalinter --vendor --deadline=600s --disable-all \ + @ echo "==> Running linter" + gometalinter.v2 --vendor --deadline=600s --disable-all \ --enable=maligned \ --enable=deadcode \ --enable=goconst \ @@ -80,12 +85,12 @@ metalinter: --enable=ineffassign \ --enable=megacheck \ --enable=misspell \ - --enable=staticcheck \ + --enable=staticcheck \ --enable=safesql \ - --enable=structcheck \ - --enable=unconvert \ + --enable=structcheck \ + --enable=unconvert \ --enable=unused \ - --enable=varcheck \ + --enable=varcheck \ --enable=vetshadow \ ./... @@ -95,8 +100,8 @@ metalinter: #--enable=gocyclo \ #--enable=golint \ <== comments on anything exported #--enable=gotype \ - #--enable=interfacer \ - #--enable=unparam \ + #--enable=interfacer \ + #--enable=unparam \ #--enable=vet \ build-docker: diff --git a/circle.yml b/circle.yml index 7d4545e54..95d1dea5e 100644 --- a/circle.yml +++ b/circle.yml @@ -2,7 +2,6 @@ machine: environment: GOPATH: /home/ubuntu/.go_workspace REPO: $GOPATH/src/github.com/$CIRCLE_PROJECT_USERNAME/$CIRCLE_PROJECT_REPONAME - GO15VENDOREXPERIMENT: 1 hosts: circlehost: 127.0.0.1 localhost: 127.0.0.1 @@ -16,7 +15,7 @@ checkout: test: override: - - cd $REPO && make get_vendor_deps && make test_integrations + - cd $REPO && make get_vendor_deps && make metalinter_test && make test_integrations post: - cd "$REPO" && bash <(curl -s https://codecov.io/bash) -f coverage.txt - cd "$REPO" && mv coverage.txt "${CIRCLE_ARTIFACTS}" diff --git a/tests/server/client.go b/tests/server/client.go index f1757fe15..9cc8131d3 100644 --- a/tests/server/client.go +++ b/tests/server/client.go @@ -21,7 +21,7 @@ func InitChain(client abcicli.Client) error { } _, err := client.InitChainSync(types.RequestInitChain{Validators: vals}) if err != nil { - fmt.Println("Failed test: InitChain - %v", err) + fmt.Printf("Failed test: InitChain - %v\n", err) return err } fmt.Println("Passed test: InitChain") @@ -33,7 +33,7 @@ func SetOption(client abcicli.Client, key, value string) error { log := res.GetLog() if err != nil { fmt.Println("Failed test: SetOption") - fmt.Printf("setting %v=%v: \nlog: %v", key, value, log) + fmt.Printf("setting %v=%v: \nlog: %v\n", key, value, log) fmt.Println("Failed test: SetOption") return err } @@ -46,12 +46,12 @@ func Commit(client abcicli.Client, hashExp []byte) error { _, data := res.Code, res.Data if err != nil { fmt.Println("Failed test: Commit") - fmt.Printf("committing %v\nlog: %v", res.GetLog()) + fmt.Printf("committing %v\nlog: %v\n", data, res.GetLog()) return err } if !bytes.Equal(data, hashExp) { fmt.Println("Failed test: Commit") - fmt.Printf("Commit hash was unexpected. Got %X expected %X", + fmt.Printf("Commit hash was unexpected. Got %X expected %X\n", data.Bytes(), hashExp) return errors.New("CommitTx failed") } @@ -64,13 +64,13 @@ func DeliverTx(client abcicli.Client, txBytes []byte, codeExp uint32, dataExp [] code, data, log := res.Code, res.Data, res.Log if code != codeExp { fmt.Println("Failed test: DeliverTx") - fmt.Printf("DeliverTx response code was unexpected. Got %v expected %v. Log: %v", + fmt.Printf("DeliverTx response code was unexpected. Got %v expected %v. Log: %v\n", code, codeExp, log) return errors.New("DeliverTx error") } if !bytes.Equal(data, dataExp) { fmt.Println("Failed test: DeliverTx") - fmt.Printf("DeliverTx response data was unexpected. Got %X expected %X", + fmt.Printf("DeliverTx response data was unexpected. Got %X expected %X\n", data, dataExp) return errors.New("DeliverTx error") } @@ -83,13 +83,13 @@ func CheckTx(client abcicli.Client, txBytes []byte, codeExp uint32, dataExp []by code, data, log := res.Code, res.Data, res.Log if code != codeExp { fmt.Println("Failed test: CheckTx") - fmt.Printf("CheckTx response code was unexpected. Got %v expected %v. Log: %v", + fmt.Printf("CheckTx response code was unexpected. Got %v expected %v. Log: %v\n", code, codeExp, log) return errors.New("CheckTx") } if !bytes.Equal(data, dataExp) { fmt.Println("Failed test: CheckTx") - fmt.Printf("CheckTx response data was unexpected. Got %X expected %X", + fmt.Printf("CheckTx response data was unexpected. Got %X expected %X\n", data, dataExp) return errors.New("CheckTx") } diff --git a/types/protoreplace/protoreplace.go b/types/protoreplace/protoreplace.go index c859098f8..3ea0c73da 100644 --- a/types/protoreplace/protoreplace.go +++ b/types/protoreplace/protoreplace.go @@ -1,7 +1,7 @@ -package main - // +build ignore +package main + import ( "bytes" "fmt" diff --git a/types/types.pb.go b/types/types.pb.go index 14026a8b1..712726288 100644 --- a/types/types.pb.go +++ b/types/types.pb.go @@ -44,6 +44,7 @@ It has these top-level messages: Evidence KVPair */ +//nolint: gas package types import proto "github.com/gogo/protobuf/proto"