aboutsummaryrefslogtreecommitdiffhomepage
path: root/GNUmakefile
diff options
context:
space:
mode:
Diffstat (limited to 'GNUmakefile')
-rw-r--r--GNUmakefile58
1 files changed, 58 insertions, 0 deletions
diff --git a/GNUmakefile b/GNUmakefile
new file mode 100644
index 0000000..151c78c
--- /dev/null
+++ b/GNUmakefile
@@ -0,0 +1,58 @@
1TEST?=$$(go list ./... |grep -v 'vendor')
2GOFMT_FILES?=$$(find . -name '*.go' |grep -v vendor)
3COVER_TEST?=$$(go list ./... |grep -v 'vendor')
4
5default: build
6
7build: fmtcheck
8 go install
9
10test: fmtcheck errcheck
11 go test -i $(TEST) || exit 1
12 echo $(TEST) | \
13 xargs -t -n4 go test $(TESTARGS) -timeout=30s -parallel=4
14
15testacc: fmtcheck
16 TF_ACC=1 go test $(TEST) -v $(TESTARGS) -timeout 120m
17
18testrace: fmtcheck
19 TF_ACC= go test -race $(TEST) $(TESTARGS)
20
21cover:
22 @go tool cover 2>/dev/null; if [ $$? -eq 3 ]; then \
23 go get -u golang.org/x/tools/cmd/cover; \
24 fi
25 go test $(COVER_TEST) -coverprofile=coverage.out
26 go tool cover -html=coverage.out
27 rm coverage.out
28
29vet:
30 @echo "go vet ."
31 @go vet $$(go list ./... | grep -v vendor/) ; if [ $$? -eq 1 ]; then \
32 echo ""; \
33 echo "Vet found suspicious constructs. Please check the reported constructs"; \
34 echo "and fix them if necessary before submitting the code for review."; \
35 exit 1; \
36 fi
37
38fmt:
39 gofmt -w $(GOFMT_FILES)
40
41fmtcheck:
42 @sh -c "'$(CURDIR)/scripts/gofmtcheck.sh'"
43
44errcheck:
45 @sh -c "'$(CURDIR)/scripts/errcheck.sh'"
46
47vendor-status:
48 @govendor status
49
50test-compile: fmtcheck
51 @if [ "$(TEST)" = "./..." ]; then \
52 echo "ERROR: Set TEST to a specific package. For example,"; \
53 echo " make test-compile TEST=./builtin/providers/aws"; \
54 exit 1; \
55 fi
56 go test -c $(TEST) $(TESTARGS)
57
58.PHONY: build test testacc testrace cover vet fmt fmtcheck errcheck vendor-status test-compile