1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
TEST?=./...
VETARGS?=-asmdecl -atomic -bool -buildtags -copylocks -methods -nilfunc -printf -rangeloops -shift -structtags -unsafeptr
default: test
# test runs the unit tests and vets the code
test:
ACD_ACC= go test $(TEST) $(TESTARGS) -timeout=30s -parallel=4
@$(MAKE) fmt
@$(MAKE) vet
# testacc runs acceptance tests
testacc:
@if [ "$(TEST)" = "./..." ]; then \
echo "ERROR: Set TEST to a specific package"; \
exit 1; \
fi
ACD_ACC=1 go test $(TEST) -v $(TESTARGS) -timeout 45m
# testrace runs the race checker
testrace:
ACD_ACC= go test -race $(TEST) $(TESTARGS)
# updatedeps installs all the dependencies needed to run
# and build
updatedeps:
@gpm
cover:
@go tool cover 2>/dev/null; if [ $$? -eq 3 ]; then \
go get -u golang.org/x/tools/cmd/cover; \
fi
go test $(TEST) -coverprofile=coverage.out
go tool cover -html=coverage.out
rm coverage.out
# fmt formats the Go source code
fmt:
@go list ./... \
| xargs go fmt
# vet runs the Go source code static analysis tool `vet` to find
# any common errors.
vet:
@go tool vet 2>/dev/null ; if [ $$? -eq 3 ]; then \
go get golang.org/x/tools/cmd/vet; \
fi
@go list -f '{{.Dir}}' ./... \
| xargs go tool vet ; 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 reviewal."; \
fi
.PHONY: default test vet
|