...
1BRANCH=`git rev-parse --abbrev-ref HEAD`
2COMMIT=`git rev-parse --short HEAD`
3GOLDFLAGS="-X main.branch $(BRANCH) -X main.commit $(COMMIT)"
4
5TESTFLAGS_RACE=-race=false
6ifdef ENABLE_RACE
7 TESTFLAGS_RACE=-race=true
8endif
9
10TESTFLAGS_CPU=
11ifdef CPU
12 TESTFLAGS_CPU=-cpu=$(CPU)
13endif
14TESTFLAGS = $(TESTFLAGS_RACE) $(TESTFLAGS_CPU) $(EXTRA_TESTFLAGS)
15
16.PHONY: fmt
17fmt:
18 !(gofmt -l -s -d $(shell find . -name \*.go) | grep '[a-z]')
19
20.PHONY: lint
21lint:
22 golangci-lint run ./...
23
24.PHONY: test
25test:
26 @echo "hashmap freelist test"
27 TEST_FREELIST_TYPE=hashmap go test -v ${TESTFLAGS} -timeout 30m
28 TEST_FREELIST_TYPE=hashmap go test -v ${TESTFLAGS} ./cmd/bbolt
29
30 @echo "array freelist test"
31 TEST_FREELIST_TYPE=array go test -v ${TESTFLAGS} -timeout 30m
32 TEST_FREELIST_TYPE=array go test -v ${TESTFLAGS} ./cmd/bbolt
33
34.PHONY: coverage
35coverage:
36 @echo "hashmap freelist test"
37 TEST_FREELIST_TYPE=hashmap go test -v -timeout 30m \
38 -coverprofile cover-freelist-hashmap.out -covermode atomic
39
40 @echo "array freelist test"
41 TEST_FREELIST_TYPE=array go test -v -timeout 30m \
42 -coverprofile cover-freelist-array.out -covermode atomic
43
44.PHONY: gofail-enable
45gofail-enable: install-gofail
46 gofail enable .
47
48.PHONY: gofail-disable
49gofail-disable:
50 gofail disable .
51
52.PHONY: install-gofail
53install-gofail:
54 go install go.etcd.io/gofail
55
56.PHONY: test-failpoint
57test-failpoint:
58 @echo "[failpoint] hashmap freelist test"
59 TEST_FREELIST_TYPE=hashmap go test -v ${TESTFLAGS} -timeout 30m ./tests/failpoint
60
61 @echo "[failpoint] array freelist test"
62 TEST_FREELIST_TYPE=array go test -v ${TESTFLAGS} -timeout 30m ./tests/failpoint
63
View as plain text