Makefile 1.6 KB

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