diff options
author | Eli Zaretskii <eliz@gnu.org> | 2017-08-09 20:15:46 +0300 |
---|---|---|
committer | Eli Zaretskii <eliz@gnu.org> | 2017-08-09 20:15:46 +0300 |
commit | 7fc27ea70bc7dc24776b2c098ac970f2f21e37fb (patch) | |
tree | 6506847574eda46651ac325d03a000fb80fd437c /test/src/emacs-module-tests.el | |
parent | da4438e14f1c55808937872b6d651a807404daa2 (diff) | |
download | emacs-7fc27ea70bc7dc24776b2c098ac970f2f21e37fb.tar.gz emacs-7fc27ea70bc7dc24776b2c098ac970f2f21e37fb.tar.bz2 emacs-7fc27ea70bc7dc24776b2c098ac970f2f21e37fb.zip |
Fix crashing emacs-module tests on MS-Windows
* src/w32fns.c (syms_of_w32fns) <w32-disable-abort-dialog>: New
variable.
(emacs_abort): If w32-disable-abort-dialog is non-nil, abort right
away, without displaying the Abort dialog, which waits for the user.
* test/src/emacs-module-tests.el (module--test-assertion): Run the
inferior Emacs with the w32 abort dialog disabled. Expect the
status of the aborted Emacs sub-process to be 3 on MS-Windows and
2 on MS-DOS.
Diffstat (limited to 'test/src/emacs-module-tests.el')
-rw-r--r-- | test/src/emacs-module-tests.el | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/test/src/emacs-module-tests.el b/test/src/emacs-module-tests.el index 2aa85f0b247..6a7ba5580da 100644 --- a/test/src/emacs-module-tests.el +++ b/test/src/emacs-module-tests.el @@ -208,14 +208,22 @@ must evaluate to a regular expression string." (with-temp-buffer (let* ((default-directory tempdir) (status (call-process mod-test-emacs nil t nil - "-batch" "-Q" "-module-assertions" "-eval" + "-batch" "-Q" "-module-assertions" + "-eval" "(setq w32-disable-abort-dialog t)" + "-eval" ,(prin1-to-string `(progn (require 'mod-test ,mod-test-file) ,@body))))) - (should (stringp status)) - ;; eg "Aborted" or "Abort trap: 6" - (should (string-prefix-p "Abort" status)) + ;; Aborting doesn't raise a signal on MS-DOS/Windows, but + ;; rather exits with a non-zero status: 2 on MS-DOS (see + ;; msdos.c:msdos_abort), 3 on Windows, per MSDN documentation + ;; of 'abort'. + (if (memq system-type '(ms-dos windows-nt)) + (should (>= status 2)) + (should (stringp status)) + ;; eg "Aborted" or "Abort trap: 6" + (should (string-prefix-p "Abort" status))) (search-backward "Emacs module assertion: ") (goto-char (match-end 0)) (should (string-match-p ,pattern |