mirror of https://github.com/docker/docs.git
46 lines
1.7 KiB
Makefile
46 lines
1.7 KiB
Makefile
# COVERAGE_OUTPUT dir is a temp dir (OSX/Linux compatible), unless explicitly specified through env COVERAGE_DIR
|
||
COVERAGE_OUTPUT := $(COVERAGE_DIR)
|
||
ifeq ($(COVERAGE_OUTPUT),)
|
||
COVERAGE_OUTPUT := $(shell mktemp -d 2>/dev/null || mktemp -d -t machine-coverage)
|
||
endif
|
||
|
||
# Final cover file, html, and mode
|
||
COVERAGE_PROFILE := $(COVERAGE_OUTPUT)/profile.out
|
||
COVERAGE_HTML := $(COVERAGE_OUTPUT)/index.html
|
||
COVERAGE_MODE := set
|
||
|
||
# Goveralls dependency
|
||
GOVERALLS_BIN := $(GOPATH)/bin/goveralls
|
||
GOVERALLS := $(shell [ -x $(GOVERALLS_BIN) ] && echo $(GOVERALLS_BIN) || echo '')
|
||
|
||
# Generate coverage
|
||
coverage-generate: $(COVERAGE_PROFILE)
|
||
|
||
# Send the results to coveralls
|
||
coverage-send: $(COVERAGE_PROFILE)
|
||
$(if $(GOVERALLS), , $(error Please install goveralls: go get github.com/mattn/goveralls))
|
||
@$(GOVERALLS) -service travis-ci -coverprofile="$(COVERAGE_PROFILE)"
|
||
|
||
# Generate html report
|
||
coverage-html: $(COVERAGE_HTML)
|
||
@open "$(COVERAGE_HTML)"
|
||
|
||
# Serve over http - useful only if building remote/headless
|
||
coverage-serve: $(COVERAGE_HTML)
|
||
@cd "$(COVERAGE_OUTPUT)" && python -m SimpleHTTPServer 8000
|
||
|
||
# Clean up coverage coverage output
|
||
coverage-clean:
|
||
@rm -Rf "$(COVERAGE_OUTPUT)/coverage"
|
||
@rm -f "$(COVERAGE_HTML)"
|
||
@rm -f "$(COVERAGE_PROFILE)"
|
||
|
||
$(COVERAGE_PROFILE): $(shell find . -type f -name '*.go')
|
||
@mkdir -p "$(COVERAGE_OUTPUT)/coverage"
|
||
@$(foreach PKG,$(PKGS), go test $(VERBOSE_GO) -tags "$(BUILDTAGS)" -covermode=$(COVERAGE_MODE) -coverprofile="$(COVERAGE_OUTPUT)/coverage/`echo $(PKG) | tr "/" "-"`.cover" "$(PKG)";)
|
||
@echo "mode: $(COVERAGE_MODE)" > "$(COVERAGE_PROFILE)"
|
||
@grep -h -v "^mode:" "$(COVERAGE_OUTPUT)/coverage"/*.cover >> "$(COVERAGE_PROFILE)"
|
||
|
||
$(COVERAGE_HTML): $(COVERAGE_PROFILE)
|
||
$(GO) tool cover -html="$(COVERAGE_PROFILE)" -o "$(COVERAGE_HTML)"
|