diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/test-system-commands-resolve-and-run.el | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/tests/test-system-commands-resolve-and-run.el b/tests/test-system-commands-resolve-and-run.el index af2288fd9..9d92c5d68 100644 --- a/tests/test-system-commands-resolve-and-run.el +++ b/tests/test-system-commands-resolve-and-run.el @@ -172,9 +172,15 @@ does not run the command." (ert-deftest test-system-cmd-restart-emacs-no-service-aborts () "Error: when no emacs.service exists, restart aborts without running anything." (let ((ran nil)) + ;; Drive the real service check to nil at its boundary (no systemctl on + ;; PATH) rather than mocking cj/system-cmd--emacs-service-available-p + ;; itself: cj/system-cmd-restart-emacs reaches that helper through a + ;; native-comp intra-file direct call that bypasses a symbol-function + ;; redefinition, so the helper-level mock silently no-ops and the real + ;; check passes on a machine that has emacs.service. executable-find is a + ;; subr the helper calls, and its trampoline honors the cl-letf swap. (cl-letf (((symbol-function 'daemonp) (lambda () t)) - ((symbol-function 'cj/system-cmd--emacs-service-available-p) - (lambda () nil)) + ((symbol-function 'executable-find) (lambda (&rest _) nil)) ((symbol-function 'read-char-choice) (lambda (&rest _) ?y)) ((symbol-function 'call-process-shell-command) (lambda (&rest _) (setq ran t)))) |
