all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Michael Albinus <michael.albinus@gmx.de>
To: Dagobert Michelsen <dam@opencsw.org>
Cc: 47262@debbugs.gnu.org
Subject: bug#47262: [platform-testers] Emacs 27.2 RC2
Date: Sun, 21 Mar 2021 13:48:07 +0100	[thread overview]
Message-ID: <87lfag7jw8.fsf@gmx.de> (raw)
In-Reply-To: <D5637638-F321-4F60-A041-DB5432F37054@opencsw.org> (Dagobert Michelsen's message of "Sat, 20 Mar 2021 21:02:51 +0100")

[-- Attachment #1: Type: text/plain, Size: 796 bytes --]

Dagobert Michelsen <dam@opencsw.org> writes:

> Hallo Michael,

Hi Dago,

> Here is the log file from the recent patch:

Thanks. I've appended another patch, which should fix all open problems
on Solaris. Could you pls check?

Furthermore, I have seen that you didn't run the expensive tests
file-notify-test07-many-events and
file-notify-test09-watched-file-in-watched-dir. I expect further
problems there, so please call

# make -C test filenotify-tests.log

Likely, there will be other errors. In that case, set file-notify-debug
to t (line 201), and rerun that expensive test. There will be similar
traces in the log file as you have sent already, which shall allow me to
continue to work.

> Best regards
>
>   — Dago

Many thanks, and best regards, Michael.


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Type: text/x-patch, Size: 13038 bytes --]

*** /tmp/ediffpZId9s	2021-03-21 13:38:20.876372597 +0100
--- /usr/local/src/emacs-27/test/lisp/filenotify-tests.el	2021-03-21 13:36:24.497655703 +0100
***************
*** 105,115 ****
     (cond
      ;; gio/gpollfilemonitor.c declares POLL_TIME_SECS 5.  So we must
      ;; wait at least this time in the GPollFileMonitor case.  A
!     ;; similar timeout seems to be needed in the GFamFileMonitor case,
!     ;; at least on Cygwin.
      ((and (string-equal (file-notify--test-library) "gfilenotify")
            (memq (file-notify--test-monitor)
!                 '(GFamFileMonitor GPollFileMonitor)))
       7)
      ((string-equal (file-notify--test-library) "gvfs-monitor-dir.exe") 1)
      ((file-remote-p temporary-file-directory) 0.1)
--- 105,115 ----
     (cond
      ;; gio/gpollfilemonitor.c declares POLL_TIME_SECS 5.  So we must
      ;; wait at least this time in the GPollFileMonitor case.  A
!     ;; similar timeout seems to be needed in the GFamFileMonitor and
!     ;; GFamDirectoryMonitor case, at least on cygwin.
      ((and (string-equal (file-notify--test-library) "gfilenotify")
            (memq (file-notify--test-monitor)
!                 '(GFamFileMonitor GFamDirectoryMonitor GPollFileMonitor)))
       7)
      ((string-equal (file-notify--test-library) "gvfs-monitor-dir.exe") 1)
      ((file-remote-p temporary-file-directory) 0.1)
***************
*** 455,461 ****

    (unwind-protect
        ;; Check, that removing watch descriptors out of order do not
!       ;; harm.  This fails on Cygwin because of timing issues unless a
        ;; long `sit-for' is added before the call to
        ;; `file-notify--test-read-event'.
        (unless (eq system-type 'cygwin)
--- 455,461 ----

    (unwind-protect
        ;; Check, that removing watch descriptors out of order do not
!       ;; harm.  This fails on cygwin because of timing issues unless a
        ;; long `sit-for' is added before the call to
        ;; `file-notify--test-read-event'.
        (unless (eq system-type 'cygwin)
***************
*** 542,547 ****
--- 542,551 ----
  	    file-notify--test-results
  	    (append file-notify--test-results `(,result))))))

+ (defun file-notify--test-event-actions ()
+   "Helper function to return retrieved actions, as list."
+   (mapcar #'file-notify--test-event-action file-notify--test-events))
+
  (defun file-notify--test-with-actions-check (actions)
    "Check whether received actions match one of the ACTIONS alternatives."
    (let (result)
***************
*** 550,571 ****
              (or result
                  (if (eq (car elt) :random)
                      (equal (sort (cdr elt) 'string-lessp)
!                            (sort (mapcar #'file-notify--test-event-action
!                                          file-notify--test-events)
                                   'string-lessp))
!                   (equal elt (mapcar #'file-notify--test-event-action
!                                      file-notify--test-events))))))))

  (defun file-notify--test-with-actions-explainer (actions)
    "Explain why `file-notify--test-with-actions-check' fails."
    (if (null (cdr actions))
        (format "Received actions do not match expected actions\n%s\n%s"
!               (mapcar #'file-notify--test-event-action file-notify--test-events)
!               (car actions))
      (format
       "Received actions do not match any sequence of expected actions\n%s\n%s"
!      (mapcar #'file-notify--test-event-action file-notify--test-events)
!      actions)))

  (put 'file-notify--test-with-actions-check 'ert-explainer
       'file-notify--test-with-actions-explainer)
--- 554,578 ----
              (or result
                  (if (eq (car elt) :random)
                      (equal (sort (cdr elt) 'string-lessp)
!                            (sort (file-notify--test-event-actions)
                                   'string-lessp))
!                   (equal elt (file-notify--test-event-actions))))))
!     ;; Do not report result in case we debug.  Write messages instead.
!     (if file-notify-debug
!         (prog1 t
!           (if result
!               (message "Success\n%s" (file-notify--test-event-actions))
!             (message (file-notify--test-with-actions-explainer actions))))
!       result)))

  (defun file-notify--test-with-actions-explainer (actions)
    "Explain why `file-notify--test-with-actions-check' fails."
    (if (null (cdr actions))
        (format "Received actions do not match expected actions\n%s\n%s"
!               (file-notify--test-event-actions) (car actions))
      (format
       "Received actions do not match any sequence of expected actions\n%s\n%s"
!      (file-notify--test-event-actions) actions)))

  (put 'file-notify--test-with-actions-check 'ert-explainer
       'file-notify--test-with-actions-explainer)
***************
*** 635,640 ****
--- 642,650 ----
               ;; cygwin does not raise a `changed' event.
               ((eq system-type 'cygwin)
                '(created deleted stopped))
+ 	     ;; GFamDirectoryMonitor does not report the `changed' event.
+ 	     ((equal (file-notify--test-monitor) 'GFamDirectoryMonitor)
+ 	      '(created deleted stopped))
               (t '(created changed deleted stopped)))
            (write-region
             "another text" nil file-notify--test-tmpfile nil 'no-message)
***************
*** 665,670 ****
--- 675,685 ----
  	     ((string-equal (file-notify--test-library) "gvfs-monitor-dir.exe")
  	      '((deleted stopped)
  		(changed deleted stopped)))
+ 	     ;; GFamDirectoryMonitor does not detect the `changed'
+              ;; event reliably.
+ 	     ((equal (file-notify--test-monitor) 'GFamDirectoryMonitor)
+ 	      '((deleted stopped)
+ 		(changed deleted stopped)))
  	     ;; There could be one or two `changed' events.
  	     (t '((changed deleted stopped)
  		  (changed changed deleted stopped))))
***************
*** 713,718 ****
--- 728,736 ----
  	     ;; cygwin does not raise a `changed' event.
  	     ((eq system-type 'cygwin)
  	      '(created deleted stopped))
+ 	     ;; GFamDirectoryMonitor does not report the `changed' event.
+ 	     ((equal (file-notify--test-monitor) 'GFamDirectoryMonitor)
+ 	      '(created deleted stopped))
  	     ((string-equal (file-notify--test-library) "kqueue")
  	      '(created changed deleted stopped))
  	     (t '(created changed deleted deleted stopped)))
***************
*** 755,763 ****
  	      '((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))
               ;; On emba, `deleted' and `stopped' events of the
--- 773,784 ----
  	      '((deleted stopped)
  		(created created deleted stopped)))
  	     ;; There are three `deleted' events, for two files and
! 	     ;; for the directory.  Except for cygwin,
! 	     ;; GFamDirectoryMonitor and kqueue.
  	     ((eq system-type 'cygwin)
  	      '(created created changed changed deleted stopped))
+ 	     ((equal (file-notify--test-monitor) 'GFamDirectoryMonitor)
+ 	      '(created created changed changed deleted stopped))
  	     ((string-equal (file-notify--test-library) "kqueue")
  	      '(created changed created changed deleted stopped))
               ;; On emba, `deleted' and `stopped' events of the
***************
*** 813,823 ****
               ((getenv "EMACS_EMBA_CI")
                '(created changed renamed deleted))
  	     ;; 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)))
--- 834,847 ----
               ((getenv "EMACS_EMBA_CI")
                '(created changed renamed deleted))
  	     ;; There are two `deleted' events, for the file and for
! 	     ;; the directory.  Except for cygwin,
! 	     ;; GFamDirectoryMonitor and kqueue.  And cygwin and
! 	     ;; GFamDirectoryMonitor raise `created' and `deleted'
! 	     ;; events instead of a `renamed' event.
  	     ((eq system-type 'cygwin)
  	      '(created created deleted deleted stopped))
+ 	     ((equal (file-notify--test-monitor) 'GFamDirectoryMonitor)
+ 	      '(created created deleted deleted stopped))
  	     ((string-equal (file-notify--test-library) "kqueue")
  	      '(created changed renamed deleted stopped))
  	     (t '(created changed renamed deleted deleted stopped)))
***************
*** 837,844 ****
      (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)
--- 861,870 ----
      (file-notify--test-cleanup))

    (unwind-protect
!       ;; Check attribute change.  Does not work for cygwin and
!       ;; GFamDirectoryMonitor.
!       (unless (or (eq system-type 'cygwin)
!                   (equal (file-notify--test-monitor) 'GFamDirectoryMonitor))
  	(setq file-notify--test-tmpfile (file-notify--test-make-temp-name))
  	(write-region
  	 "any text" nil file-notify--test-tmpfile nil 'no-message)
***************
*** 951,957 ****

  	    ;; Modify file.  We wait for two seconds, in order to
  	    ;; have another timestamp.  One second seems to be too
!             ;; short.  And Cygwin sporadically requires more than two.
              (ert-with-message-capture captured-messages
                (sleep-for (if (eq system-type 'cygwin) 3 2))
                (write-region
--- 977,983 ----

  	    ;; Modify file.  We wait for two seconds, in order to
  	    ;; have another timestamp.  One second seems to be too
!             ;; short.  And cygwin sporadically requires more than two.
              (ert-with-message-capture captured-messages
                (sleep-for (if (eq system-type 'cygwin) 3 2))
                (write-region
***************
*** 1021,1026 ****
--- 1047,1057 ----
  	     ((string-equal (file-notify--test-library) "gvfs-monitor-dir.exe")
  	      '((deleted stopped)
  		(changed deleted stopped)))
+ 	     ;; GFamDirectoryMonitor does not detect the `changed'
+              ;; event reliably.
+ 	     ((equal (file-notify--test-monitor) 'GFamDirectoryMonitor)
+ 	      '((deleted stopped)
+ 	        (changed deleted stopped)))
  	     ;; There could be one or two `changed' events.
  	     (t '((changed deleted stopped)
  		  (changed changed deleted stopped))))
***************
*** 1064,1073 ****
  	        '((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)))
--- 1095,1107 ----
  	        '((deleted stopped)
  	          (created deleted stopped)))
  	       ;; There are two `deleted' events, for the file and for
! 	       ;; the directory.  Except for cygwin,
! 	       ;; GFamDirectoryMonitor and kqueue.  And cygwin and
! 	       ;; GFamDirectoryMonitor do not raise a `changed' event.
  	       ((eq system-type 'cygwin)
  	        '(created deleted stopped))
+ 	       ((equal (file-notify--test-monitor) 'GFamDirectoryMonitor)
+ 	        '(created deleted stopped))
  	       ((string-equal (file-notify--test-library) "kqueue")
  	        '(created changed deleted stopped))
  	       (t '(created changed deleted deleted stopped)))
***************
*** 1286,1291 ****
--- 1320,1328 ----
               ;; On cygwin we only get the `changed' event.
               ((eq system-type 'cygwin)
                '(changed))
+ 	     ;; GFamDirectoryMonitor reports only the `changed' event.
+ 	     ((equal (file-notify--test-monitor) 'GFamDirectoryMonitor)
+ 	      '(changed))
               (t '(renamed created changed)))
            ;; The file is renamed when creating a backup.  It shall
            ;; still be watched.

  reply	other threads:[~2021-03-21 12:48 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-19  7:35 Emacs 27.2 RC2 Eli Zaretskii
2021-03-19 10:42 ` Robert Pluim
2021-03-19 12:19   ` Eli Zaretskii
2021-03-19 17:50     ` Robert Pluim
2021-03-19 19:44       ` Eli Zaretskii
2021-03-19 13:42 ` bug#47262: [platform-testers] " Dagobert Michelsen
2021-03-19 14:05   ` Eli Zaretskii
2021-03-19 18:03   ` Robert Pluim
2021-03-19 20:09     ` Eli Zaretskii
2021-03-20  9:04   ` Michael Albinus
2021-03-20 14:14     ` Dagobert Michelsen
2021-03-20 15:52       ` Michael Albinus
2021-03-20 20:02         ` Dagobert Michelsen
2021-03-21 12:48           ` Michael Albinus [this message]
2021-03-22 14:17             ` Dagobert Michelsen
2021-03-22 14:47               ` Michael Albinus
2021-03-23  7:38                 ` Dagobert Michelsen
2021-03-23  8:17                   ` Michael Albinus
2021-03-23  8:42                     ` Dagobert Michelsen
2021-03-23  9:32                       ` Michael Albinus
2021-03-23 11:52                         ` Dagobert Michelsen
2021-03-23 12:08                           ` Michael Albinus
2021-10-21 21:19   ` Stefan Kangas
2021-10-22  6:32     ` Dagobert Michelsen
2021-12-02 22:41       ` Stefan Kangas
2021-12-05 10:09         ` Dagobert Michelsen
2021-12-05 10:42           ` Eli Zaretskii
2021-12-05 11:34             ` Dagobert Michelsen
2021-12-05 13:51               ` Eli Zaretskii
2022-06-25 12:00                 ` Lars Ingebrigtsen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87lfag7jw8.fsf@gmx.de \
    --to=michael.albinus@gmx.de \
    --cc=47262@debbugs.gnu.org \
    --cc=dam@opencsw.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.