1GOPATH=$(shell go env GOPATH) 2GOLANGCI_LINT=$(GOPATH)/bin/golangci-lint 3GOFUZZBUILD = $(GOPATH)/bin/go-fuzz-build 4GOFUZZ = $(GOPATH)/bin/go-fuzz 5 6.PHONY: lint 7lint: $(GOLANGCI_LINT) 8 @echo "==> Linting codebase" 9 @$(GOLANGCI_LINT) run 10 11.PHONY: test 12test: 13 @echo "==> Running tests" 14 GO111MODULE=on go test -v 15 16.PHONY: test-cover 17test-cover: 18 @echo "==> Running Tests with coverage" 19 GO111MODULE=on go test -cover . 20 21.PHONY: fuzz 22fuzz: $(GOFUZZBUILD) $(GOFUZZ) 23 @echo "==> Fuzz testing" 24 $(GOFUZZBUILD) 25 $(GOFUZZ) -workdir=_fuzz 26 27$(GOLANGCI_LINT): 28 # Install golangci-lint. The configuration for it is in the .golangci.yml 29 # file in the root of the repository 30 echo ${GOPATH} 31 curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | sh -s -- -b $(GOPATH)/bin v1.17.1 32 33$(GOFUZZBUILD): 34 cd / && go get -u github.com/dvyukov/go-fuzz/go-fuzz-build 35 36$(GOFUZZ): 37 cd / && go get -u github.com/dvyukov/go-fuzz/go-fuzz github.com/dvyukov/go-fuzz/go-fuzz-dep