mirror of https://github.com/cheat/cheat.git
54 lines
1.4 KiB
Makefile
54 lines
1.4 KiB
Makefile
# General
|
|
WORKDIR = $(PWD)
|
|
|
|
# Go parameters
|
|
GOCMD = go
|
|
GOTEST = $(GOCMD) test
|
|
|
|
# Git config
|
|
GIT_VERSION ?=
|
|
GIT_DIST_PATH ?= $(PWD)/.git-dist
|
|
GIT_REPOSITORY = http://github.com/git/git.git
|
|
|
|
# Coverage
|
|
COVERAGE_REPORT = coverage.out
|
|
COVERAGE_MODE = count
|
|
|
|
build-git:
|
|
@if [ -f $(GIT_DIST_PATH)/git ]; then \
|
|
echo "nothing to do, using cache $(GIT_DIST_PATH)"; \
|
|
else \
|
|
git clone $(GIT_REPOSITORY) -b $(GIT_VERSION) --depth 1 --single-branch $(GIT_DIST_PATH); \
|
|
cd $(GIT_DIST_PATH); \
|
|
make configure; \
|
|
./configure; \
|
|
make all; \
|
|
fi
|
|
|
|
test:
|
|
@echo "running against `git version`"; \
|
|
$(GOTEST) -race ./...
|
|
|
|
TEMP_REPO := $(shell mktemp)
|
|
test-sha256:
|
|
$(GOCMD) run -tags sha256 _examples/sha256/main.go $(TEMP_REPO)
|
|
cd $(TEMP_REPO) && git fsck
|
|
rm -rf $(TEMP_REPO)
|
|
|
|
test-coverage:
|
|
@echo "running against `git version`"; \
|
|
echo "" > $(COVERAGE_REPORT); \
|
|
$(GOTEST) -coverprofile=$(COVERAGE_REPORT) -coverpkg=./... -covermode=$(COVERAGE_MODE) ./...
|
|
|
|
clean:
|
|
rm -rf $(GIT_DIST_PATH)
|
|
|
|
fuzz:
|
|
@go test -fuzz=FuzzParser $(PWD)/internal/revision
|
|
@go test -fuzz=FuzzDecoder $(PWD)/plumbing/format/config
|
|
@go test -fuzz=FuzzPatchDelta $(PWD)/plumbing/format/packfile
|
|
@go test -fuzz=FuzzParseSignedBytes $(PWD)/plumbing/object
|
|
@go test -fuzz=FuzzDecode $(PWD)/plumbing/object
|
|
@go test -fuzz=FuzzDecoder $(PWD)/plumbing/protocol/packp
|
|
@go test -fuzz=FuzzNewEndpoint $(PWD)/plumbing/transport
|