master
mk 41 lines 1.07 KB
Raw
1 include mk/header.mk
2
3 GOCC ?= go
4
5 $(d)/coverage_deps: $$(DEPS_GO) cmd/ipfs/ipfs
6 rm -rf $(@D)/sharnesscover && mkdir $(@D)/sharnesscover
7
8 .PHONY: $(d)/coverage_deps
9
10 # unit tests coverage is now produced by test_unit target in mk/golang.mk
11 # (outputs coverage/unit_tests.coverprofile and test/unit/gotest.json)
12
13 TGTS_$(d) :=
14
15 # sharness tests coverage
16 $(d)/ipfs: GOTAGS += testrunmain
17 $(d)/ipfs: $(d)/main
18 $(go-build-relative)
19
20 CLEAN += $(d)/ipfs
21
22 ifneq ($(filter coverage%,$(MAKECMDGOALS)),)
23 # this is quite hacky but it is best way I could figure out
24 DEPS_test/sharness += cmd/ipfs/ipfs-test-cover $(d)/coverage_deps $(d)/ipfs
25 endif
26
27 export IPFS_COVER_DIR:= $(realpath $(d))/sharnesscover/
28
29 $(d)/sharness_tests.coverprofile: export TEST_PLUGIN=0
30 $(d)/sharness_tests.coverprofile: $(d)/ipfs cmd/ipfs/ipfs-test-cover $(d)/coverage_deps test/bin/gocovmerge test_sharness
31 (cd $(@D)/sharnesscover && find . -type f | gocovmerge -list -) > $@
32
33
34 PATH := $(realpath $(d)):$(PATH)
35
36 TGTS_$(d) += $(d)/sharness_tests.coverprofile
37
38 CLEAN += $(TGTS_$(d))
39 COVERAGE += $(TGTS_$(d))
40
41 include mk/footer.mk