diff options
| -rw-r--r-- | Makefile | 2 | ||||
| -rw-r--r-- | tests/test-system-defaults-functions.el | 7 |
2 files changed, 7 insertions, 2 deletions
@@ -204,7 +204,7 @@ endif @echo "Running tests matching pattern: $(TEST)..." @$(EMACS_TEST) \ -l ert \ - $(foreach test,$(ALL_TESTS),-l $(test)) \ + $(foreach test,$(ALL_TESTS),-l $(abspath $(test))) \ --eval '(ert-run-tests-batch-and-exit "$(TEST)")' @echo "✓ Tests matching '$(TEST)' complete" diff --git a/tests/test-system-defaults-functions.el b/tests/test-system-defaults-functions.el index 580e7a7c..154e3678 100644 --- a/tests/test-system-defaults-functions.el +++ b/tests/test-system-defaults-functions.el @@ -47,7 +47,12 @@ ;; bodies. Stubs deliberately scope only to the require so the ;; real primitives remain available for unrelated tests in the ;; same Emacs. -(let ((use-package-always-ensure nil)) +;; Contain system-defaults' load-time `(setq default-directory user-home-dir)' +;; so it doesn't leak into a shared batch session. `make test-name' loads +;; every test file into one Emacs; a leaked cwd there breaks the relative +;; loads of every file that follows. +(let ((default-directory default-directory) + (use-package-always-ensure nil)) (cl-letf (((symbol-function 'server-running-p) (lambda (&rest _) t)) ((symbol-function 'server-start) #'ignore) ((symbol-function 'set-locale-environment) #'ignore) |
