-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathMakefile
More file actions
55 lines (44 loc) · 1.66 KB
/
Makefile
File metadata and controls
55 lines (44 loc) · 1.66 KB
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
.PHONY: clean unittests benchtests build endtoendtests cmpbenchtests testgen setup lint
BIN_DIR=bin
BIN_NAME=validgen
VALIDGEN_BIN=$(BIN_DIR)/$(BIN_NAME)
BENCH_TIME=5s
GOLANGCILINT_PATH=$(HOME)/bin
GOLANGCILINT_BIN=$(GOLANGCILINT_PATH)/golangci-lint
all: clean unittests build endtoendtests benchtests cmpbenchtests
clean:
@echo "Cleaning"
rm -Rf $(BIN_DIR)/
unittests:
@echo "Running unit tests"
go clean -testcache
go test -v ./internal/... ./types/...
benchtests: build
@echo "Running bench tests"
find tests/bench/ -name '*_validator.go' -exec rm \{} \;
$(VALIDGEN_BIN) tests/bench
go clean -testcache
go test -bench=. -v -benchmem -benchtime=$(BENCH_TIME) ./tests/bench
build: clean
@echo "Building"
go build -o $(VALIDGEN_BIN) .
testgen:
@echo "Generating tests"
cd testgen/ && rm -f generated_*.go && go run *.go && mv generated_endtoend_*tests.go ../tests/endtoend/ && mv generated_validation_*_test.go ../internal/codegenerator/ && mv generated_function_code_*_test.go ../internal/codegenerator/ && mv generated_cmp_perf_*.go ../tests/cmpbenchtests/
endtoendtests: build
@echo "Running endtoend tests"
find tests/endtoend/ -name 'validator__.go' -exec rm \{} \;
$(VALIDGEN_BIN) tests/endtoend
cd tests/endtoend; go run .
cmpbenchtests: build
@echo "Running cmp bench tests"
$(VALIDGEN_BIN) tests/cmpbenchtests/
go clean -testcache
go test -bench=. -v -benchmem -benchtime=$(BENCH_TIME) ./tests/cmpbenchtests/
setup:
@echo "Setting up"
curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/HEAD/install.sh | sh -s -- -b $(GOLANGCILINT_PATH) v2.5.0
$(GOLANGCILINT_BIN) --version
lint:
@echo "Linting"
$(GOLANGCILINT_BIN) run --timeout=5m