diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/run-coverage-file.el | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/tests/run-coverage-file.el b/tests/run-coverage-file.el new file mode 100644 index 0000000..e328a3f --- /dev/null +++ b/tests/run-coverage-file.el @@ -0,0 +1,33 @@ +;;; run-coverage-file.el --- Undercover setup for per-file coverage runs -*- lexical-binding: t; -*- + +;;; Commentary: +;; Loaded by `make coverage' before each test file runs, BEFORE +;; org-drill.el is loaded. Instrumenting must happen first so the +;; subsequent `(require 'org-drill)' or `-l org-drill.el' picks up the +;; instrumented source. +;; +;; Coverage data is merged across per-file invocations into a single +;; simplecov JSON at .coverage/simplecov.json. + +;;; Code: + +(unless (require 'undercover nil t) + (message "") + (message "ERROR: undercover not installed.") + (message "Add `undercover' to Cask as a development dep, then run `make setup'.") + (message "") + (kill-emacs 1)) + +;; Force coverage collection in non-CI environments. Must be set after +;; loading undercover because the library's top-level form +;; `(setq undercover-force-coverage (getenv "UNDERCOVER_FORCE"))' would +;; otherwise overwrite the value. +(setq undercover-force-coverage t) + +(undercover "org-drill.el" + (:report-format 'simplecov) + (:report-file ".coverage/simplecov.json") + (:merge-report t) + (:send-report nil)) + +;;; run-coverage-file.el ends here |
