File: Makefile

package info (click to toggle)
golang-github-hashicorp-go-bexpr 0.1.2-3
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 356 kB
  • sloc: makefile: 50
file content (64 lines) | stat: -rw-r--r-- 1,289 bytes parent folder | download | duplicates (2)
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
56
57
58
59
60
61
62
63
64
GOTEST_PKGS=$(shell go list ./... | grep -v examples)

BENCHTIME ?= 2s
BENCHTESTS ?= .

BENCHFULL?=0
ifeq (${BENCHFULL},1)
BENCHFULL_ARG=-bench-full -timeout 60m
else
BENCHFULL_ARG=
endif

TEST_VERBOSE?=0
ifeq (${TEST_VERBOSE},1)
TEST_VERBOSE_ARG=-v
else
TEST_VERBOSE_ARG=
endif

TEST_RESULTS?="/tmp/test-results"
grammar.go: grammar.peg
	@echo "Regenerating Parser"
	@go generate ./

generate: grammar.go

test: generate
	@go test $(TEST_VERBOSE_ARG) $(GOTEST_PKGS)

test-ci: generate
	@gotestsum --junitfile $(TEST_RESULTS)/gotestsum-report.xml -- $(GOTEST_PKGS)

bench: generate
	@go test $(TEST_VERBOSE_ARG) -run DONTRUNTESTS -bench $(BENCHTESTS) $(BENCHFULL_ARG) -benchtime=$(BENCHTIME) $(GOTEST_PKGS)

coverage: generate
	@go test -coverprofile /tmp/coverage.out $(GOTEST_PKGS)
	@go tool cover -html /tmp/coverage.out

fmt: generate
	@gofmt -w -s

examples: simple expr-parse expr-eval filter

simple:
	@go build ./examples/simple

expr-parse:
	@go build ./examples/expr-parse

expr-eval:
	@go build ./examples/expr-eval

filter:
	@go build ./examples/filter

deps:
	@go get github.com/mna/pigeon@master
	@go get golang.org/x/tools/cmd/goimports
	@go get golang.org/x/tools/cmd/cover
	@go mod tidy

.PHONY: generate test coverage fmt deps bench examples expr-parse expr-eval filter