summaryrefslogtreecommitdiff
path: root/modules/test-runner.el
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-04-22 17:17:05 -0500
committerCraig Jennings <c@cjennings.net>2026-04-22 17:17:05 -0500
commitfd8de71ec0ea3fc08c7b6add32d366ed26c2e6d8 (patch)
treec43a526ae444333c7b0dbffcabc1ae5a542a80e1 /modules/test-runner.el
parent517c1c728a106d661eb8b2edbc02592590921db2 (diff)
downloaddotemacs-fd8de71ec0ea3fc08c7b6add32d366ed26c2e6d8.tar.gz
dotemacs-fd8de71ec0ea3fc08c7b6add32d366ed26c2e6d8.zip
feat(coverage): add elisp backend
First of the pluggable coverage backends. Registers itself with coverage-core on load. - :name is elisp - :detect returns non-nil when the project root has a Makefile, Eask, or Cask alongside .el files at root or under modules/. The heuristic is deliberately loose. For anything unusual, .dir-locals.el can pin the backend with cj/coverage-backend. - :run invokes make coverage in a compilation buffer. On success the callback fires with the LCOV path. On failure the buffer stays visible so the user can read the error. - :lcov-path resolves to <project-root>/.coverage/lcov.info. undercover is declared via use-package with :defer t so it's installed but not loaded at Emacs startup. The make coverage target will require it explicitly. Tests cover Normal (Makefile + modules/, Eask + root .el, Cask + modules/), Boundary (no build file, Makefile without .el, empty directory), and Error (nonexistent root returns nil). The registration-on-load case is also verified. The Makefile coverage target and the cj/coverage-report user command arrive in follow-up commits.
Diffstat (limited to 'modules/test-runner.el')
0 files changed, 0 insertions, 0 deletions