+2014-01-17 Michael Albinus <michael.albinus@gmx.de>
+
+ * 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 <michael.albinus@gmx.de>
* automated/ert-tests.el (ert-test-record-backtrace): Reenable
(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)