emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master 35e4a0d: * test/lisp/filenotify-tests.el (file-noti


From: Michael Albinus
Subject: [Emacs-diffs] master 35e4a0d: * test/lisp/filenotify-tests.el (file-notify-test03-events): Cleanup subtests.
Date: Fri, 19 Jan 2018 08:59:56 -0500 (EST)

branch: master
commit 35e4a0def90d2a9b50baac81361c001c85c47e05
Author: Michael Albinus <address@hidden>
Commit: Michael Albinus <address@hidden>

    * test/lisp/filenotify-tests.el (file-notify-test03-events): Cleanup 
subtests.
---
 test/lisp/filenotify-tests.el | 405 +++++++++++++++++++++++-------------------
 1 file changed, 220 insertions(+), 185 deletions(-)

diff --git a/test/lisp/filenotify-tests.el b/test/lisp/filenotify-tests.el
index feb1f19..8745fdc 100644
--- a/test/lisp/filenotify-tests.el
+++ b/test/lisp/filenotify-tests.el
@@ -566,35 +566,42 @@ delivered."
   (skip-unless (file-notify--test-local-enabled))
 
   (unwind-protect
-      (progn
-        ;; Check file creation, change and deletion.  It doesn't work
-        ;; for kqueue, because we don't use an implicit directory
-        ;; monitor.
-        (unless (string-equal (file-notify--test-library) "kqueue")
-          (setq file-notify--test-tmpfile (file-notify--test-make-temp-name))
-          (should
-           (setq file-notify--test-desc
-                 (file-notify-add-watch
-                  file-notify--test-tmpfile
-                  '(change) #'file-notify--test-event-handler)))
-          (file-notify--test-with-events
-              (cond
-               ;; gvfs-monitor-dir on cygwin does not detect the
-               ;; `created' event reliably.
-              ((string-equal
-                (file-notify--test-library) "gvfs-monitor-dir.exe")
-               '((deleted stopped)
-                 (created deleted stopped)))
-               ;; cygwin does not raise a `changed' event.
-               ((eq system-type 'cygwin)
-                '(created deleted stopped))
-               (t '(created changed deleted stopped)))
-            (write-region
-             "another text" nil file-notify--test-tmpfile nil 'no-message)
-            (file-notify--test-read-event)
-            (delete-file file-notify--test-tmpfile))
-          (file-notify-rm-watch file-notify--test-desc))
+      ;; Check file creation, change and deletion.  It doesn't work
+      ;; for kqueue, because we don't use an implicit directory
+      ;; monitor.
+      (unless (string-equal (file-notify--test-library) "kqueue")
+        (setq file-notify--test-tmpfile (file-notify--test-make-temp-name))
+        (should
+         (setq file-notify--test-desc
+               (file-notify-add-watch
+                file-notify--test-tmpfile
+                '(change) #'file-notify--test-event-handler)))
+        (file-notify--test-with-events
+            (cond
+             ;; gvfs-monitor-dir on cygwin does not detect the
+             ;; `created' event reliably.
+            ((string-equal
+              (file-notify--test-library) "gvfs-monitor-dir.exe")
+             '((deleted stopped)
+               (created deleted stopped)))
+             ;; cygwin does not raise a `changed' event.
+             ((eq system-type 'cygwin)
+              '(created deleted stopped))
+             (t '(created changed deleted stopped)))
+          (write-region
+           "another text" nil file-notify--test-tmpfile nil 'no-message)
+          (file-notify--test-read-event)
+          (delete-file file-notify--test-tmpfile))
+        (file-notify-rm-watch file-notify--test-desc)
+
+        ;; The environment shall be cleaned up.
+        (file-notify--test-cleanup-p))
 
+    ;; Cleanup.
+    (file-notify--test-cleanup))
+
+  (unwind-protect
+      (progn
         ;; Check file change and deletion.
        (setq file-notify--test-tmpfile (file-notify--test-make-temp-name))
         (write-region "any text" nil file-notify--test-tmpfile nil 'no-message)
@@ -619,163 +626,191 @@ delivered."
           (delete-file file-notify--test-tmpfile))
         (file-notify-rm-watch file-notify--test-desc)
 
-        ;; Check file creation, change and deletion when watching a
-        ;; directory.  There must be a `stopped' event when deleting
-        ;; the directory.
-        (let ((file-notify--test-tmpdir
-              (make-temp-file "file-notify-test-parent" t)))
-         (should
-          (setq file-notify--test-tmpfile (file-notify--test-make-temp-name)
-                file-notify--test-desc
-                (file-notify-add-watch
-                 file-notify--test-tmpdir
-                 '(change) #'file-notify--test-event-handler)))
-         (file-notify--test-with-events
-             (cond
-              ;; w32notify does not raise `deleted' and `stopped'
-              ;; events for the watched directory.
-              ((string-equal (file-notify--test-library) "w32notify")
-               '(created changed deleted))
-               ;; gvfs-monitor-dir on cygwin does not detect the
-               ;; `created' event reliably.
-              ((string-equal
-                (file-notify--test-library) "gvfs-monitor-dir.exe")
-               '((deleted stopped)
-                 (created deleted stopped)))
-              ;; There are two `deleted' events, for the file and for
-              ;; the directory.  Except for cygwin and kqueue.  And
-              ;; cygwin does not raise a `changed' event.
-              ((eq system-type 'cygwin)
-               '(created deleted stopped))
-              ((string-equal (file-notify--test-library) "kqueue")
-               '(created changed deleted stopped))
-              (t '(created changed deleted deleted stopped)))
-           (write-region
-            "any text" nil file-notify--test-tmpfile nil 'no-message)
-           (file-notify--test-read-event)
-            (delete-directory file-notify--test-tmpdir 'recursive))
-          (file-notify-rm-watch file-notify--test-desc))
-
-        ;; Check copy of files inside a directory.
-        (let ((file-notify--test-tmpdir
-              (make-temp-file "file-notify-test-parent" t)))
-         (should
-          (setq file-notify--test-tmpfile (file-notify--test-make-temp-name)
-                file-notify--test-tmpfile1 (file-notify--test-make-temp-name)
-                file-notify--test-desc
-                (file-notify-add-watch
-                 file-notify--test-tmpdir
-                 '(change) #'file-notify--test-event-handler)))
-         (file-notify--test-with-events
-             (cond
-              ;; w32notify does not distinguish between `changed' and
-              ;; `attribute-changed'.  It does not raise `deleted'
-              ;; and `stopped' events for the watched directory.
-              ((string-equal (file-notify--test-library) "w32notify")
-               '(created changed created changed
-                 changed changed changed
-                 deleted deleted))
-               ;; gvfs-monitor-dir on cygwin does not detect the
-               ;; `created' event reliably.
-              ((string-equal
-                (file-notify--test-library) "gvfs-monitor-dir.exe")
-               '((deleted stopped)
-                 (created created deleted stopped)))
-              ;; There are three `deleted' events, for two files and
-              ;; for the directory.  Except for cygwin and kqueue.
-              ((eq system-type 'cygwin)
-               '(created created changed changed deleted stopped))
-              ((string-equal (file-notify--test-library) "kqueue")
-               '(created changed created changed deleted stopped))
-              (t '(created changed created changed
-                   deleted deleted deleted stopped)))
-           (write-region
-            "any text" nil file-notify--test-tmpfile nil 'no-message)
-           (file-notify--test-read-event)
-           (copy-file file-notify--test-tmpfile file-notify--test-tmpfile1)
-           ;; The next two events shall not be visible.
-           (file-notify--test-read-event)
-           (set-file-modes file-notify--test-tmpfile 000)
-           (file-notify--test-read-event)
-           (set-file-times file-notify--test-tmpfile '(0 0))
-           (file-notify--test-read-event)
-            (delete-directory file-notify--test-tmpdir 'recursive))
-          (file-notify-rm-watch file-notify--test-desc))
-
-        ;; Check rename of files inside a directory.
-        (let ((file-notify--test-tmpdir
-              (make-temp-file "file-notify-test-parent" t)))
-         (should
-          (setq file-notify--test-tmpfile (file-notify--test-make-temp-name)
-                file-notify--test-tmpfile1 (file-notify--test-make-temp-name)
-                file-notify--test-desc
-                (file-notify-add-watch
-                 file-notify--test-tmpdir
-                 '(change) #'file-notify--test-event-handler)))
-         (file-notify--test-with-events
-             (cond
-              ;; w32notify does not raise `deleted' and `stopped'
-              ;; events for the watched directory.
-              ((string-equal (file-notify--test-library) "w32notify")
-               '(created changed renamed deleted))
-               ;; gvfs-monitor-dir on cygwin does not detect the
-               ;; `created' event reliably.
-              ((string-equal
-                (file-notify--test-library) "gvfs-monitor-dir.exe")
-               '((deleted stopped)
-                 (created deleted stopped)))
-              ;; There are two `deleted' events, for the file and for
-              ;; the directory.  Except for cygwin and kqueue.  And
-              ;; cygwin raises `created' and `deleted' events instead
-              ;; of a `renamed' event.
-              ((eq system-type 'cygwin)
-               '(created created deleted deleted stopped))
-              ((string-equal (file-notify--test-library) "kqueue")
-               '(created changed renamed deleted stopped))
-              (t '(created changed renamed deleted deleted stopped)))
-           (write-region
-            "any text" nil file-notify--test-tmpfile nil 'no-message)
-           (file-notify--test-read-event)
-           (rename-file file-notify--test-tmpfile file-notify--test-tmpfile1)
-           ;; After the rename, we won't get events anymore.
-           (file-notify--test-read-event)
-            (delete-directory file-notify--test-tmpdir 'recursive))
-          (file-notify-rm-watch file-notify--test-desc))
-
-        ;; Check attribute change.  Does not work for cygwin.
-       (unless (eq system-type 'cygwin)
-         (setq file-notify--test-tmpfile (file-notify--test-make-temp-name))
+        ;; The environment shall be cleaned up.
+        (file-notify--test-cleanup-p))
+
+    ;; Cleanup.
+    (file-notify--test-cleanup))
+
+  (unwind-protect
+      ;; Check file creation, change and deletion when watching a
+      ;; directory.  There must be a `stopped' event when deleting the
+      ;; directory.
+      (let ((file-notify--test-tmpdir
+             (make-temp-file "file-notify-test-parent" t)))
+       (should
+        (setq file-notify--test-tmpfile (file-notify--test-make-temp-name)
+              file-notify--test-desc
+              (file-notify-add-watch
+               file-notify--test-tmpdir
+               '(change) #'file-notify--test-event-handler)))
+       (file-notify--test-with-events
+           (cond
+            ;; w32notify does not raise `deleted' and `stopped'
+            ;; events for the watched directory.
+            ((string-equal (file-notify--test-library) "w32notify")
+             '(created changed deleted))
+             ;; gvfs-monitor-dir on cygwin does not detect the
+             ;; `created' event reliably.
+            ((string-equal
+              (file-notify--test-library) "gvfs-monitor-dir.exe")
+             '((deleted stopped)
+               (created deleted stopped)))
+            ;; There are two `deleted' events, for the file and for
+            ;; the directory.  Except for cygwin and kqueue.  And
+            ;; cygwin does not raise a `changed' event.
+            ((eq system-type 'cygwin)
+             '(created deleted stopped))
+            ((string-equal (file-notify--test-library) "kqueue")
+             '(created changed deleted stopped))
+            (t '(created changed deleted deleted stopped)))
          (write-region
           "any text" nil file-notify--test-tmpfile nil 'no-message)
-         (should
-          (setq file-notify--test-desc
-                (file-notify-add-watch
-                 file-notify--test-tmpfile
-                 '(attribute-change) #'file-notify--test-event-handler)))
-         (file-notify--test-with-events
-             (cond
-              ;; w32notify does not distinguish between `changed' and
-              ;; `attribute-changed'.  Under MS Windows 7, we get
-              ;; four `changed' events, and under MS Windows 10 just
-              ;; two.  Strange.
-              ((string-equal (file-notify--test-library) "w32notify")
-               '((changed changed)
-                 (changed changed changed changed)))
-              ;; For kqueue and in the remote case, `write-region'
-              ;; raises also an `attribute-changed' event.
-              ((or (string-equal (file-notify--test-library) "kqueue")
-                   (file-remote-p temporary-file-directory))
-               '(attribute-changed attribute-changed attribute-changed))
-              (t '(attribute-changed attribute-changed)))
-           (write-region
-            "any text" nil file-notify--test-tmpfile nil 'no-message)
-           (file-notify--test-read-event)
-           (set-file-modes file-notify--test-tmpfile 000)
-           (file-notify--test-read-event)
-           (set-file-times file-notify--test-tmpfile '(0 0))
-           (file-notify--test-read-event)
-           (delete-file file-notify--test-tmpfile))
-          (file-notify-rm-watch file-notify--test-desc))
+         (file-notify--test-read-event)
+          (delete-directory file-notify--test-tmpdir 'recursive))
+        (file-notify-rm-watch file-notify--test-desc)
+
+        ;; The environment shall be cleaned up.
+        (file-notify--test-cleanup-p))
+
+    ;; Cleanup.
+    (file-notify--test-cleanup))
+
+  (unwind-protect
+      ;; Check copy of files inside a directory.
+      (let ((file-notify--test-tmpdir
+            (make-temp-file "file-notify-test-parent" t)))
+       (should
+        (setq file-notify--test-tmpfile (file-notify--test-make-temp-name)
+              file-notify--test-tmpfile1 (file-notify--test-make-temp-name)
+              file-notify--test-desc
+              (file-notify-add-watch
+               file-notify--test-tmpdir
+               '(change) #'file-notify--test-event-handler)))
+       (file-notify--test-with-events
+           (cond
+            ;; w32notify does not distinguish between `changed' and
+            ;; `attribute-changed'.  It does not raise `deleted' and
+            ;; `stopped' events for the watched directory.
+            ((string-equal (file-notify--test-library) "w32notify")
+             '(created changed created changed
+               changed changed changed
+               deleted deleted))
+             ;; gvfs-monitor-dir on cygwin does not detect the
+             ;; `created' event reliably.
+            ((string-equal
+              (file-notify--test-library) "gvfs-monitor-dir.exe")
+             '((deleted stopped)
+               (created created deleted stopped)))
+            ;; There are three `deleted' events, for two files and
+            ;; for the directory.  Except for cygwin and kqueue.
+            ((eq system-type 'cygwin)
+             '(created created changed changed deleted stopped))
+            ((string-equal (file-notify--test-library) "kqueue")
+             '(created changed created changed deleted stopped))
+            (t '(created changed created changed
+                 deleted deleted deleted stopped)))
+         (write-region
+          "any text" nil file-notify--test-tmpfile nil 'no-message)
+         (file-notify--test-read-event)
+         (copy-file file-notify--test-tmpfile file-notify--test-tmpfile1)
+         ;; The next two events shall not be visible.
+         (file-notify--test-read-event)
+         (set-file-modes file-notify--test-tmpfile 000)
+         (file-notify--test-read-event)
+         (set-file-times file-notify--test-tmpfile '(0 0))
+         (file-notify--test-read-event)
+          (delete-directory file-notify--test-tmpdir 'recursive))
+        (file-notify-rm-watch file-notify--test-desc)
+
+        ;; The environment shall be cleaned up.
+        (file-notify--test-cleanup-p))
+
+    ;; Cleanup.
+    (file-notify--test-cleanup))
+
+  (unwind-protect
+      ;; Check rename of files inside a directory.
+      (let ((file-notify--test-tmpdir
+            (make-temp-file "file-notify-test-parent" t)))
+       (should
+        (setq file-notify--test-tmpfile (file-notify--test-make-temp-name)
+              file-notify--test-tmpfile1 (file-notify--test-make-temp-name)
+              file-notify--test-desc
+              (file-notify-add-watch
+               file-notify--test-tmpdir
+               '(change) #'file-notify--test-event-handler)))
+       (file-notify--test-with-events
+           (cond
+            ;; w32notify does not raise `deleted' and `stopped'
+            ;; events for the watched directory.
+            ((string-equal (file-notify--test-library) "w32notify")
+             '(created changed renamed deleted))
+             ;; gvfs-monitor-dir on cygwin does not detect the
+             ;; `created' event reliably.
+            ((string-equal
+              (file-notify--test-library) "gvfs-monitor-dir.exe")
+             '((deleted stopped)
+               (created deleted stopped)))
+            ;; There are two `deleted' events, for the file and for
+            ;; the directory.  Except for cygwin and kqueue.  And
+            ;; cygwin raises `created' and `deleted' events instead
+            ;; of a `renamed' event.
+            ((eq system-type 'cygwin)
+             '(created created deleted deleted stopped))
+            ((string-equal (file-notify--test-library) "kqueue")
+             '(created changed renamed deleted stopped))
+            (t '(created changed renamed deleted deleted stopped)))
+         (write-region
+          "any text" nil file-notify--test-tmpfile nil 'no-message)
+         (file-notify--test-read-event)
+         (rename-file file-notify--test-tmpfile file-notify--test-tmpfile1)
+         ;; After the rename, we won't get events anymore.
+         (file-notify--test-read-event)
+          (delete-directory file-notify--test-tmpdir 'recursive))
+        (file-notify-rm-watch file-notify--test-desc)
+
+        ;; The environment shall be cleaned up.
+        (file-notify--test-cleanup-p))
+
+    ;; Cleanup.
+    (file-notify--test-cleanup))
+
+  (unwind-protect
+      ;; Check attribute change.  Does not work for cygwin.
+      (unless (eq system-type 'cygwin)
+       (setq file-notify--test-tmpfile (file-notify--test-make-temp-name))
+       (write-region
+        "any text" nil file-notify--test-tmpfile nil 'no-message)
+       (should
+        (setq file-notify--test-desc
+              (file-notify-add-watch
+               file-notify--test-tmpfile
+               '(attribute-change) #'file-notify--test-event-handler)))
+       (file-notify--test-with-events
+           (cond
+            ;; w32notify does not distinguish between `changed' and
+            ;; `attribute-changed'.  Under MS Windows 7, we get four
+            ;; `changed' events, and under MS Windows 10 just two.
+            ;; Strange.
+            ((string-equal (file-notify--test-library) "w32notify")
+             '((changed changed)
+               (changed changed changed changed)))
+            ;; For kqueue and in the remote case, `write-region'
+            ;; raises also an `attribute-changed' event.
+            ((or (string-equal (file-notify--test-library) "kqueue")
+                 (file-remote-p temporary-file-directory))
+             '(attribute-changed attribute-changed attribute-changed))
+            (t '(attribute-changed attribute-changed)))
+         (write-region
+          "any text" nil file-notify--test-tmpfile nil 'no-message)
+         (file-notify--test-read-event)
+         (set-file-modes file-notify--test-tmpfile 000)
+         (file-notify--test-read-event)
+         (set-file-times file-notify--test-tmpfile '(0 0))
+         (file-notify--test-read-event)
+         (delete-file file-notify--test-tmpfile))
+        (file-notify-rm-watch file-notify--test-desc)
 
         ;; The environment shall be cleaned up.
         (file-notify--test-cleanup-p))
@@ -1013,7 +1048,7 @@ delivered."
          (file-notify--test-timeout)
         (not (file-notify-valid-p file-notify--test-desc)))
         (should-not (file-notify-valid-p file-notify--test-desc))
-        (delete-directory file-notify--test-tmpfile t)
+        (delete-directory file-notify--test-tmpfile 'recursive)
 
         ;; The environment shall be cleaned up.
         (file-notify--test-cleanup-p))
@@ -1033,7 +1068,7 @@ delivered."
         (should (file-notify-valid-p file-notify--test-desc))
         ;; After deleting the directory, the descriptor must not be
         ;; valid anymore.
-        (delete-directory file-notify--test-tmpfile t)
+        (delete-directory file-notify--test-tmpfile 'recursive)
         (file-notify--wait-for-events
         (file-notify--test-timeout)
         (not (file-notify-valid-p file-notify--test-desc)))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]