diff options
author | nevar <[email protected]> | 2017-09-07 21:52:30 +0700 |
---|---|---|
committer | Loïc Hoguin <[email protected]> | 2017-09-13 18:45:15 +0200 |
commit | 6a764de5ff077a566b7865d0a7a8f3c4c9b0c042 (patch) | |
tree | dc040ded9a96d0bb5ee969892f9a063da15d1464 /plugins/cover.mk | |
parent | d9a9158ccbb94dbb66772a7ef437f30d3e5f652c (diff) | |
download | erlang.mk-6a764de5ff077a566b7865d0a7a8f3c4c9b0c042.tar.gz erlang.mk-6a764de5ff077a566b7865d0a7a8f3c4c9b0c042.tar.bz2 erlang.mk-6a764de5ff077a566b7865d0a7a8f3c4c9b0c042.zip |
COVER_DATA_DIR for *.coverdata
Also make COVER_REPORT_DIR not override user value (if set before
include erlang.mk).
Use incl_app in CT cover spec.
Diffstat (limited to 'plugins/cover.mk')
-rw-r--r-- | plugins/cover.mk | 30 |
1 files changed, 17 insertions, 13 deletions
diff --git a/plugins/cover.mk b/plugins/cover.mk index 63fd2d7..b57458a 100644 --- a/plugins/cover.mk +++ b/plugins/cover.mk @@ -2,23 +2,20 @@ # Copyright (c) 2015, Viktor Söderqvist <[email protected]> # This file is part of erlang.mk and subject to the terms of the ISC License. -COVER_REPORT_DIR = cover +COVER_REPORT_DIR ?= cover +COVER_DATA_DIR ?= $(CURDIR) # Hook in coverage to ct ifdef COVER ifdef CT_RUN ifneq ($(wildcard $(TEST_DIR)),) -# All modules in 'ebin' -COVER_MODS = $(notdir $(basename $(call core_ls,ebin/*.beam))) - test-build:: $(TEST_DIR)/ct.cover.spec -$(TEST_DIR)/ct.cover.spec: - $(verbose) echo Cover mods: $(COVER_MODS) +$(TEST_DIR)/ct.cover.spec: cover-data-dir $(gen_verbose) printf "%s\n" \ - '{incl_mods,[$(subst $(space),$(comma),$(COVER_MODS))]}.' \ - '{export,"$(CURDIR)/ct.coverdata"}.' > $@ + "{incl_app, '$(PROJECT)', details}." \ + '{export,"$(abspath $(COVER_DATA_DIR))/ct.coverdata"}.' > $@ CT_RUN += -cover $(TEST_DIR)/ct.cover.spec endif @@ -32,6 +29,13 @@ ifneq ($(COVER_REPORT_DIR),) tests:: $(verbose) $(MAKE) --no-print-directory cover-report endif + +cover-data-dir: | $(COVER_DATA_DIR) + +$(COVER_DATA_DIR): + $(verbose) mkdir -p $(COVER_DATA_DIR) +else +cover-data-dir: endif clean:: coverdata-clean @@ -54,19 +58,19 @@ help:: # Plugin specific targets -COVERDATA = $(filter-out all.coverdata,$(wildcard *.coverdata)) +COVERDATA = $(filter-out $(COVER_DATA_DIR)/all.coverdata,$(wildcard $(COVER_DATA_DIR)/*.coverdata)) .PHONY: coverdata-clean coverdata-clean: - $(gen_verbose) rm -f *.coverdata $(TEST_DIR)/ct.cover.spec + $(gen_verbose) rm -f $(COVER_DATA_DIR)/*.coverdata $(TEST_DIR)/ct.cover.spec # Merge all coverdata files into one. define cover_export.erl $(foreach f,$(COVERDATA),cover:import("$(f)") == ok orelse halt(1),) - cover:export("$@"), halt(0). + cover:export("$(COVER_DATA_DIR)/$@"), halt(0). endef -all.coverdata: $(COVERDATA) +all.coverdata: $(COVERDATA) cover-data-dir $(gen_verbose) $(call erlang,$(cover_export.erl)) # These are only defined if COVER_REPORT_DIR is non-empty. Set COVER_REPORT_DIR to @@ -76,7 +80,7 @@ ifneq ($(COVER_REPORT_DIR),) .PHONY: cover-report-clean cover-report cover-report-clean: - $(gen_verbose) rm -rf $(COVER_REPORT_DIR) + $(gen_verbose) rm -rf $(COVER_REPORT_DIR) $(COVER_DATA_DIR) ifeq ($(COVERDATA),) cover-report: |