48 lines
1.6 KiB
Makefile
48 lines
1.6 KiB
Makefile
|
TEST?=$$(go list ./... |grep -Ev 'vendor|examples|testutils')
|
||
|
GOFMT_FILES?=$$(find . -name '*.go' |grep -v vendor)
|
||
|
|
||
|
default: vet errcheck test
|
||
|
|
||
|
tools:: ## Download and install all dev/code tools
|
||
|
@echo "==> Installing dev tools"
|
||
|
go get -u github.com/golang/dep/cmd/dep
|
||
|
go get -u github.com/golang/lint/golint
|
||
|
go get -u github.com/kisielk/errcheck
|
||
|
@echo "==> Installing test package dependencies"
|
||
|
go test -i $(TEST) || exit 1
|
||
|
|
||
|
test:: ## Run unit tests
|
||
|
@echo "==> Running unit tests"
|
||
|
@echo $(TEST) | \
|
||
|
xargs -t go test -v $(TESTARGS) -timeout=30s -parallel=1 | grep -Ev 'TRITON_TEST|TestAcc'
|
||
|
|
||
|
testacc:: ## Run acceptance tests
|
||
|
@echo "==> Running acceptance tests"
|
||
|
TRITON_TEST=1 go test $(TEST) -v $(TESTARGS) -run -timeout 120m
|
||
|
|
||
|
vet:: ## Check for unwanted code constructs
|
||
|
@echo "go vet ."
|
||
|
@go vet $$(go list ./... | grep -v vendor/) ; if [ $$? -eq 1 ]; then \
|
||
|
echo ""; \
|
||
|
echo "Vet found suspicious constructs. Please check the reported constructs"; \
|
||
|
echo "and fix them if necessary before submitting the code for review."; \
|
||
|
exit 1; \
|
||
|
fi
|
||
|
|
||
|
lint:: ## Lint and vet code by common Go standards
|
||
|
@bash $(CURDIR)/scripts/lint.sh
|
||
|
|
||
|
fmt:: ## Format as canonical Go code
|
||
|
gofmt -w $(GOFMT_FILES)
|
||
|
|
||
|
fmtcheck:: ## Check if code format is canonical Go
|
||
|
@bash $(CURDIR)/scripts/gofmtcheck.sh
|
||
|
|
||
|
errcheck:: ## Check for unhandled errors
|
||
|
@bash $(CURDIR)/scripts/errcheck.sh
|
||
|
|
||
|
.PHONY: help
|
||
|
help:: ## Display this help message
|
||
|
@echo "GNU make(1) targets:"
|
||
|
@grep -E '^[a-zA-Z_.-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-15s\033[0m %s\n", $$1, $$2}'
|