all repos

rss-tools @ master

get rss feed from sources that(i need and) dont provide one

rss-tools/vendor/go.etcd.io/bbolt/Makefile (view raw)

Oleksandr Smirnov Oleksandr Smirnov
olexsmir@gmail.com
we're vendoring now, 7 days ago
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
GOFILES = $(shell find . -name \*.go)
5
6
TESTFLAGS_RACE=-race=false
7
ifdef ENABLE_RACE
8
	TESTFLAGS_RACE=-race=true
9
endif
10
11
TESTFLAGS_CPU=
12
ifdef CPU
13
	TESTFLAGS_CPU=-cpu=$(CPU)
14
endif
15
TESTFLAGS = $(TESTFLAGS_RACE) $(TESTFLAGS_CPU) $(EXTRA_TESTFLAGS)
16
17
TESTFLAGS_TIMEOUT=30m
18
ifdef TIMEOUT
19
	TESTFLAGS_TIMEOUT=$(TIMEOUT)
20
endif
21
22
TESTFLAGS_ENABLE_STRICT_MODE=false
23
ifdef ENABLE_STRICT_MODE
24
	TESTFLAGS_ENABLE_STRICT_MODE=$(ENABLE_STRICT_MODE)
25
endif
26
27
.EXPORT_ALL_VARIABLES:
28
TEST_ENABLE_STRICT_MODE=${TESTFLAGS_ENABLE_STRICT_MODE}
29
30
.PHONY: fmt
31
fmt:
32
	@echo "Verifying gofmt, failures can be fixed with ./scripts/fix.sh"
33
	@!(gofmt -l -s -d ${GOFILES} | grep '[a-z]')
34
35
	@echo "Verifying goimports, failures can be fixed with ./scripts/fix.sh"
36
	@!(go run golang.org/x/tools/cmd/goimports@latest -l -d ${GOFILES} | grep '[a-z]')
37
38
.PHONY: lint
39
lint:
40
	golangci-lint run ./...
41
42
.PHONY: test
43
test:
44
	@echo "hashmap freelist test"
45
	BBOLT_VERIFY=all TEST_FREELIST_TYPE=hashmap go test -v ${TESTFLAGS} -timeout ${TESTFLAGS_TIMEOUT}
46
	BBOLT_VERIFY=all TEST_FREELIST_TYPE=hashmap go test -v ${TESTFLAGS} ./internal/...
47
	BBOLT_VERIFY=all TEST_FREELIST_TYPE=hashmap go test -v ${TESTFLAGS} ./cmd/bbolt
48
49
	@echo "array freelist test"
50
	BBOLT_VERIFY=all TEST_FREELIST_TYPE=array go test -v ${TESTFLAGS} -timeout ${TESTFLAGS_TIMEOUT}
51
	BBOLT_VERIFY=all TEST_FREELIST_TYPE=array go test -v ${TESTFLAGS} ./internal/...
52
	BBOLT_VERIFY=all TEST_FREELIST_TYPE=array go test -v ${TESTFLAGS} ./cmd/bbolt
53
54
.PHONY: coverage
55
coverage:
56
	@echo "hashmap freelist test"
57
	TEST_FREELIST_TYPE=hashmap go test -v -timeout ${TESTFLAGS_TIMEOUT} \
58
		-coverprofile cover-freelist-hashmap.out -covermode atomic
59
60
	@echo "array freelist test"
61
	TEST_FREELIST_TYPE=array go test -v -timeout ${TESTFLAGS_TIMEOUT} \
62
		-coverprofile cover-freelist-array.out -covermode atomic
63
64
BOLT_CMD=bbolt
65
66
build:
67
	go build -o bin/${BOLT_CMD} ./cmd/${BOLT_CMD}
68
69
.PHONY: clean
70
clean: # Clean binaries
71
	rm -f ./bin/${BOLT_CMD}
72
73
.PHONY: gofail-enable
74
gofail-enable: install-gofail
75
	gofail enable .
76
77
.PHONY: gofail-disable
78
gofail-disable: install-gofail
79
	gofail disable .
80
81
.PHONY: install-gofail
82
install-gofail:
83
	go install go.etcd.io/gofail
84
85
.PHONY: test-failpoint
86
test-failpoint:
87
	@echo "[failpoint] hashmap freelist test"
88
	BBOLT_VERIFY=all TEST_FREELIST_TYPE=hashmap go test -v ${TESTFLAGS} -timeout 30m ./tests/failpoint
89
90
	@echo "[failpoint] array freelist test"
91
	BBOLT_VERIFY=all TEST_FREELIST_TYPE=array go test -v ${TESTFLAGS} -timeout 30m ./tests/failpoint
92
93
.PHONY: test-robustness # Running robustness tests requires root permission for now
94
# TODO: Remove sudo once we fully migrate to the prow infrastructure
95
test-robustness: gofail-enable build
96
	sudo env PATH=$$PATH go test -v ${TESTFLAGS} ./tests/dmflakey -test.root
97
	sudo env PATH=$(PWD)/bin:$$PATH go test -v ${TESTFLAGS} ${ROBUSTNESS_TESTFLAGS} ./tests/robustness -test.root
98
99
.PHONY: test-benchmark-compare
100
# Runs benchmark tests on the current git ref and the given REF, and compares
101
# the two.
102
test-benchmark-compare: install-benchstat
103
	@git fetch
104
	./scripts/compare_benchmarks.sh $(REF)
105
106
.PHONY: install-benchstat
107
install-benchstat:
108
	go install golang.org/x/perf/cmd/benchstat@latest