From 160630163c0c14591ad77164ac640581bfb7b503 Mon Sep 17 00:00:00 2001 From: Michael Albinus Date: Fri, 17 Jan 2014 12:50:15 +0100 Subject: [PATCH] Fix Bug#13662. * automated/inotify-test.el (inotify-file-watch-simple): Skip test case if inotify is not linked with Emacs. Use `read-event' rather than `sit-for' in order to process events. --- test/ChangeLog | 6 ++++ test/automated/inotify-test.el | 57 +++++++++++++++++----------------- 2 files changed, 34 insertions(+), 29 deletions(-) diff --git a/test/ChangeLog b/test/ChangeLog index 20ed09158a0..fa4d41e2247 100644 --- a/test/ChangeLog +++ b/test/ChangeLog @@ -1,3 +1,9 @@ +2014-01-17 Michael Albinus + + * automated/inotify-test.el (inotify-file-watch-simple): Skip test + case if inotify is not linked with Emacs. Use `read-event' rather + than `sit-for' in order to process events. (Bug#13662) + 2014-01-13 Michael Albinus * automated/ert-tests.el (ert-test-record-backtrace): Reenable diff --git a/test/automated/inotify-test.el b/test/automated/inotify-test.el index 1860f11d674..cb2a0449dfb 100644 --- a/test/automated/inotify-test.el +++ b/test/automated/inotify-test.el @@ -28,37 +28,36 @@ (declare-function inotify-add-watch "inotify.c" (file-name aspect callback)) (declare-function inotify-rm-watch "inotify.c" (watch-descriptor)) -(when (featurep 'inotify) +;; (ert-deftest filewatch-file-watch-aspects-check () +;; "Test whether `file-watch' properly checks the aspects." +;; (let ((temp-file (make-temp-file "filewatch-aspects"))) +;; (should (stringp temp-file)) +;; (should-error (file-watch temp-file 'wrong nil) +;; :type 'error) +;; (should-error (file-watch temp-file '(modify t) nil) +;; :type 'error) +;; (should-error (file-watch temp-file '(modify all-modify) nil) +;; :type 'error) +;; (should-error (file-watch temp-file '(access wrong modify) nil) +;; :type 'error))) - ;; (ert-deftest filewatch-file-watch-aspects-check () - ;; "Test whether `file-watch' properly checks the aspects." - ;; (let ((temp-file (make-temp-file "filewatch-aspects"))) - ;; (should (stringp temp-file)) - ;; (should-error (file-watch temp-file 'wrong nil) - ;; :type 'error) - ;; (should-error (file-watch temp-file '(modify t) nil) - ;; :type 'error) - ;; (should-error (file-watch temp-file '(modify all-modify) nil) - ;; :type 'error) - ;; (should-error (file-watch temp-file '(access wrong modify) nil) - ;; :type 'error))) +(ert-deftest inotify-file-watch-simple () + "Test if watching a normal file works." - (ert-deftest inotify-file-watch-simple () - "Test if watching a normal file works." - (let ((temp-file (make-temp-file "inotify-simple")) - (events 0)) - (let ((wd - (inotify-add-watch temp-file t (lambda (_ev) - (setq events (1+ events)))))) - (unwind-protect - (progn - (with-temp-file temp-file - (insert "Foo\n")) - (sit-for 5) ;; Hacky. Wait for 5s until events are processed - (should (> events 0))) - (inotify-rm-watch wd) - (delete-file temp-file))))) -) + (skip-unless (featurep 'inotify)) + (let ((temp-file (make-temp-file "inotify-simple")) + (events 0)) + (let ((wd + (inotify-add-watch temp-file t (lambda (_ev) + (setq events (1+ events)))))) + (unwind-protect + (progn + (with-temp-file temp-file + (insert "Foo\n")) + (read-event nil nil 5) + (should (> events 0))) + (inotify-rm-watch wd) + (delete-file temp-file))))) (provide 'inotify-tests) -- 2.39.2