Fix file-notify-test on MS-Windows

* test/automated/file-notify-tests.el (file-notify--test-timeout):
Reduce w32notify timeout to 10 sec.
(file-notify-test06-many-events): Call read-event after each
rename, to keep the w32notify backend happy in batch mode.
(Bug#22534)
This commit is contained in:
Eli Zaretskii 2016-02-06 21:53:38 +02:00
parent be1d87492e
commit 49e57490d0

View file

@ -66,7 +66,7 @@
"Timeout to wait for arriving events, in seconds." "Timeout to wait for arriving events, in seconds."
(cond (cond
((file-remote-p temporary-file-directory) 6) ((file-remote-p temporary-file-directory) 6)
((string-equal (file-notify--test-library) "w32notify") 20) ((string-equal (file-notify--test-library) "w32notify") 10)
((eq system-type 'cygwin) 10) ((eq system-type 'cygwin) 10)
(t 3))) (t 3)))
@ -797,10 +797,7 @@ longer than timeout seconds for the events to be delivered."
file-notify--test-tmpfile file-notify--test-tmpfile
'(change) 'file-notify--test-event-handler))) '(change) 'file-notify--test-event-handler)))
(unwind-protect (unwind-protect
;; In case of w32notify, the upper limit of events to handle (let ((n 1000)
;; seems to be 260. Reason unknown.
(let ((n (if (string-equal (file-notify--test-library) "w32notify")
250 1000))
source-file-list target-file-list source-file-list target-file-list
(default-directory file-notify--test-tmpfile)) (default-directory file-notify--test-tmpfile))
(dotimes (i n) (dotimes (i n)
@ -832,10 +829,11 @@ longer than timeout seconds for the events to be delivered."
(let ((source-file-list source-file-list) (let ((source-file-list source-file-list)
(target-file-list target-file-list)) (target-file-list target-file-list))
(while (and source-file-list target-file-list) (while (and source-file-list target-file-list)
(rename-file (pop source-file-list) (pop target-file-list) t)))) (rename-file (pop source-file-list) (pop target-file-list) t)
(read-event nil nil 0.02))))
(file-notify--test-with-events (make-list n 'deleted) (file-notify--test-with-events (make-list n 'deleted)
(dolist (file target-file-list) (dolist (file target-file-list)
(delete-file file)))) (prog1 (delete-file file) (read-event nil nil 0.02)))))
(file-notify--test-cleanup))) (file-notify--test-cleanup)))
(file-notify--deftest-remote file-notify-test06-many-events (file-notify--deftest-remote file-notify-test06-many-events