mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-01-04 11:00:45 -08:00
New test for src/process.c on MS-Windows
* test/src/process-tests.el (process-sentinel-interrupt-event): New test. (Bug#46284) Copyright-paperwork-exempt: yes
This commit is contained in:
parent
b76864ef55
commit
d640ec2718
1 changed files with 29 additions and 0 deletions
|
|
@ -879,5 +879,34 @@ Return nil if FILENAME doesn't exist."
|
|||
(file-regular-p filename)
|
||||
filename)))
|
||||
|
||||
;; Bug#46284
|
||||
(ert-deftest process-sentinel-interrupt-event ()
|
||||
"Test that interrupting a process on MS-Windows sends the
|
||||
\"interrupt\" event to the process sentinel."
|
||||
(skip-unless (eq system-type 'windows-nt))
|
||||
(with-temp-buffer
|
||||
(let* ((proc-buf (current-buffer))
|
||||
;; Start a new emacs process to wait idly until interrupted.
|
||||
(cmd "emacs -batch --eval=\"(sit-for 50000)\"")
|
||||
(proc (start-file-process-shell-command
|
||||
"test/process-sentinel-signal-event" proc-buf cmd))
|
||||
(events '()))
|
||||
|
||||
;; Capture any incoming events.
|
||||
(set-process-sentinel proc
|
||||
(lambda (proc event)
|
||||
(push event events)))
|
||||
;; Wait for the process to start.
|
||||
(sleep-for 2)
|
||||
(should (equal 'run (process-status proc)))
|
||||
;; Interrupt the sub-process and wait for it to die.
|
||||
(interrupt-process proc)
|
||||
(sleep-for 2)
|
||||
;; Should have received SIGINT...
|
||||
(should (equal 'signal (process-status proc)))
|
||||
(should (equal 2 (process-exit-status proc)))
|
||||
;; ...and the change description should be "interrupt".
|
||||
(should (equal '("interrupt\n") events)))))
|
||||
|
||||
(provide 'process-tests)
|
||||
;;; process-tests.el ends here
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue