diff options
author | Eli Zaretskii <eliz@gnu.org> | 2022-12-07 21:23:42 +0200 |
---|---|---|
committer | Eli Zaretskii <eliz@gnu.org> | 2022-12-07 21:23:42 +0200 |
commit | f7262b8f81e66a1963b020b1fe720575dc8aaba9 (patch) | |
tree | 86e48fe4709d31b421fb570fb7ad652e34a731f4 /test/lisp/comint-tests.el | |
parent | fef17557365010a03059f3954da89f74408b3485 (diff) | |
download | emacs-f7262b8f81e66a1963b020b1fe720575dc8aaba9.tar.gz emacs-f7262b8f81e66a1963b020b1fe720575dc8aaba9.tar.bz2 emacs-f7262b8f81e66a1963b020b1fe720575dc8aaba9.zip |
Fix comint-tests on MS-Windows
* test/lisp/comint-tests.el (comint-tests/test-password-function):
On MS-Windows, call 'w32-native-executable-find' instead of
'executable-find', to find the native version of the 'cat'
program.
(w32-native-executable-p, w32-native-executable-find): New
functions.
Diffstat (limited to 'test/lisp/comint-tests.el')
-rw-r--r-- | test/lisp/comint-tests.el | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/test/lisp/comint-tests.el b/test/lisp/comint-tests.el index 8402c13daf3..88427dd05b1 100644 --- a/test/lisp/comint-tests.el +++ b/test/lisp/comint-tests.el @@ -59,9 +59,23 @@ (dolist (str comint-testsuite-password-strings) (should (string-match comint-password-prompt-regexp str)))) +(declare-function 'w32-application-type "w32proc.c") +(defun w32-native-executable-p (fname) + "Predicate to test program FNAME for being a native Windows application." + (and (memq (w32-application-type fname) '(w32-native dos)) + (file-executable-p fname))) + +(defun w32-native-executable-find (name) + "Find a native MS-Windows application named NAME. +This is needed to avoid invoking MSYS or Cygwin executables that +happen to lurk on PATH when running the test suite." + (locate-file name exec-path exec-suffixes 'w32-native-executable-p)) + (defun comint-tests/test-password-function (password-function) "PASSWORD-FUNCTION can return nil or a string." - (when-let ((cat (executable-find "cat"))) + (when-let ((cat (if (eq system-type 'windows-nt) + (w32-native-executable-find "cat") + (executable-find "cat")))) (let ((comint-password-function password-function)) (cl-letf (((symbol-function 'read-passwd) (lambda (&rest _args) "non-nil"))) |