|
|
I switched the test runner from `~/.emacs.d/elpa`-grep to eask. With
this, `make setup` installs every dep into a project-local `.eask/`,
so test runs don't depend on whatever's in my global elpa. It also
lets us catch missing Package-Requires entries before MELPA submission.
New targets:
- `make setup` — runs `eask install-deps --dev`
- `make compile` — byte-compiles chime.el and surfaces warnings that
checkdoc and elisp-lint don't catch
- `make coverage` — runs the unit suite under undercover and writes a
simplecov JSON to `.coverage/simplecov.json`
- `make test-all` — runs every test, including `:slow` tagged
- `-include makefile-local` in both Makefiles, for per-machine knobs
I added `ERT_FAST_SELECTOR` so `make test`, `test-unit`,
`test-integration`, and `test-file` exclude tests tagged `:slow`. When
we tag end-to-end integration tests as `:slow`, they'll stay out of
the fast feedback loop until someone explicitly asks for them via
`make test-all`.
Eask treats CWD as its workspace. So all eask invocations now run
from project root, with `(cd "tests/")' as the first `--eval' to
restore Emacs's default-directory. That preserves the relative loads
the existing test files and test-bootstrap.el rely on, without
touching either.
I updated `.gitignore` for `.eask/`, `.coverage/`, and the optional
`makefile-local` files.
|