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.
This commit is contained in:
parent
fef1755736
commit
f7262b8f81
1 changed files with 15 additions and 1 deletions
|
@ -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")))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue