diff options
Diffstat (limited to 'Makefile')
| -rw-r--r-- | Makefile | 22 |
1 files changed, 21 insertions, 1 deletions
@@ -27,7 +27,7 @@ ALL_TESTS = $(filter-out $(TEST_DIR)/test-bootstrap.el, \ .PHONY: help test test-all test-unit test-integration test-file test-one test-name \ count list validate lint check-deps clean \ - setup compile coverage coverage-clean + setup compile coverage coverage-summary coverage-clean help: @$(MAKE) -C $(TEST_DIR) help @@ -148,6 +148,26 @@ coverage: coverage-clean $(COVERAGE_DIR) echo "[!] No coverage file produced; check that undercover is installed"; \ exit 1; \ fi + @# Print the human-readable summary after a local run. CI emits + @# coveralls.json (not simplecov.json) and the upload action reports + @# instead, so skip the terminal summary there. + @if [ -z "$$CI" ] && [ -f $(COVERAGE_FILE) ]; then \ + $(MAKE) --no-print-directory coverage-summary; \ + fi + +# Print a human-readable summary of the SimpleCov report: per-file +# covered/total lines + percent, a line-weighted project figure, and a +# source-weighted figure where a tracked source missing from the report +# counts as 0% (so an un-instrumented source shows up rather than vanishing +# from the numbers). Run on its own against an existing report, or +# automatically at the tail of 'make coverage'. +coverage-summary: + @if [ ! -f $(COVERAGE_FILE) ]; then \ + echo "[!] No coverage report at $(COVERAGE_FILE). Run 'make coverage' first."; \ + exit 1; \ + fi + @$(EMACS_BATCH) -L scripts -l coverage-summary \ + --eval '(pearl-coverage-print-summary "$(COVERAGE_FILE)" (list "$(SOURCE_FILE)") "$(CURDIR)")' coverage-clean: @rm -f $(COVERAGE_FILE) |
