aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/cover.mk
diff options
context:
space:
mode:
authorLoïc Hoguin <[email protected]>2017-05-13 15:37:24 +0200
committerLoïc Hoguin <[email protected]>2017-05-13 15:37:24 +0200
commit68bb586e605c62ba9fc7c7bebe14529121dcc53a (patch)
treec26c69abada45dc1ffcff8b2c7f21308539eaf21 /plugins/cover.mk
parent28ab68285c5e7611ef0e450b5611e666c3253add (diff)
downloaderlang.mk-68bb586e605c62ba9fc7c7bebe14529121dcc53a.tar.gz
erlang.mk-68bb586e605c62ba9fc7c7bebe14529121dcc53a.tar.bz2
erlang.mk-68bb586e605c62ba9fc7c7bebe14529121dcc53a.zip
Convert legacy cover tests and fix a few issues
There are no more legacy tests. Enjoy!
Diffstat (limited to 'plugins/cover.mk')
-rw-r--r--plugins/cover.mk19
1 files changed, 12 insertions, 7 deletions
diff --git a/plugins/cover.mk b/plugins/cover.mk
index 461173f..63fd2d7 100644
--- a/plugins/cover.mk
+++ b/plugins/cover.mk
@@ -8,6 +8,7 @@ COVER_REPORT_DIR = cover
ifdef COVER
ifdef CT_RUN
+ifneq ($(wildcard $(TEST_DIR)),)
# All modules in 'ebin'
COVER_MODS = $(notdir $(basename $(call core_ls,ebin/*.beam)))
@@ -22,6 +23,7 @@ $(TEST_DIR)/ct.cover.spec:
CT_RUN += -cover $(TEST_DIR)/ct.cover.spec
endif
endif
+endif
# Core targets
@@ -43,7 +45,7 @@ help::
"Cover targets:" \
" cover-report Generate a HTML coverage report from previously collected" \
" cover data." \
- " all.coverdata Merge {eunit,ct}.coverdata into one coverdata file." \
+ " all.coverdata Merge all coverdata files into all.coverdata." \
"" \
"If COVER=1 is set, coverage data is generated by the targets eunit and ct. The" \
"target tests additionally generates a HTML coverage report from the combined" \
@@ -56,13 +58,16 @@ COVERDATA = $(filter-out all.coverdata,$(wildcard *.coverdata))
.PHONY: coverdata-clean
coverdata-clean:
- $(gen_verbose) rm -f *.coverdata ct.cover.spec
+ $(gen_verbose) rm -f *.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).
+endef
+
all.coverdata: $(COVERDATA)
- $(gen_verbose) $(ERL) -eval ' \
- $(foreach f,$(COVERDATA),cover:import("$(f)") == ok orelse halt(1),) \
- cover:export("$@"), halt(0).'
+ $(gen_verbose) $(call erlang,$(cover_export.erl))
# These are only defined if COVER_REPORT_DIR is non-empty. Set COVER_REPORT_DIR to
# empty if you want the coverdata files but not the HTML report.
@@ -80,7 +85,7 @@ else
# Modules which include eunit.hrl always contain one line without coverage
# because eunit defines test/0 which is never called. We compensate for this.
EUNIT_HRL_MODS = $(subst $(space),$(comma),$(shell \
- grep -e '^\s*-include.*include/eunit\.hrl"' src/*.erl \
+ grep -H -e '^\s*-include.*include/eunit\.hrl"' src/*.erl \
| sed "s/^src\/\(.*\)\.erl:.*/'\1'/" | uniq))
define cover_report.erl
@@ -115,7 +120,7 @@ define cover_report.erl
endef
cover-report:
- $(gen_verbose) mkdir -p $(COVER_REPORT_DIR)
+ $(verbose) mkdir -p $(COVER_REPORT_DIR)
$(gen_verbose) $(call erlang,$(cover_report.erl))
endif