unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Fabrice Popineau <fabrice.popineau@gmail.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: 22534@debbugs.gnu.org, Michael Albinus <michael.albinus@gmx.de>
Subject: bug#22534: File notify broken on Windows
Date: Sun, 7 Feb 2016 20:34:10 +0100	[thread overview]
Message-ID: <CAFgFV9NxOaAy7fB-FNdk5-e7es3kVKM5m+BbNiA3m9UDQ38QYg@mail.gmail.com> (raw)
In-Reply-To: <83a8ncs9b4.fsf@gnu.org>

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

2016-02-07 18:46 GMT+01:00 Eli Zaretskii <eliz@gnu.org>:

> > From: Fabrice Popineau <fabrice.popineau@gmail.com>
> > Date: Sun, 7 Feb 2016 14:37:34 +0100
> > Cc: Michael Albinus <michael.albinus@gmx.de>, 22534@debbugs.gnu.org
> >
> > In the 'check for attribute change', I see only 2 'changed'
> notifications, and not 4
> > as expected by the test (around line 512: w32notify does not distinguish
> between
> > 'changed' and 'attribute-changed').
> >
> > So I need to apply :
> >
> > diff --git a/test/automated/file-notify-tests.el
> b/test/automated/file-notify-tests.el
> > index 5fc4ff8..943bd7e 100644
> > --- a/test/automated/file-notify-tests.el
> > +++ b/test/automated/file-notify-tests.el
> > @@ -507,7 +512,7 @@ file-notify--test-with-events
> > ;; w32notify does not distinguish between `changed' and
> > ;; `attribute-changed'.
> > ((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")
>
> Can you instrument filenotify.el to show the w32notify events this
> test generates, complete with the corresponding file names?  I will
> then compare to what I see here.
>
>
I printed the expected notifications and the ones that occur:

Library: `w32notify'
   passed  1/6  file-notify-test00-availability
   passed  2/6  file-notify-test01-add-watch
events: ((created changed deleted stopped)) ((17923488 created
c:/Users/Fabrice/AppData/Local/Temp/file-notify-test20748mQW) (17923488
changed c:/Users/Fabrice/AppData/Local/Temp/file-notify-test20748mQW)
(17923488 deleted
c:/Users/Fabrice/AppData/Local/Temp/file-notify-test20748mQW) (17923488
stopped c:/Users/Fabrice/AppData/Local/Temp/file-notify-test20748mQW))
events: ((changed changed deleted stopped)) ((17490424 changed
c:/Users/Fabrice/AppData/Local/Temp/file-notify-test20748zac) (17490424
changed c:/Users/Fabrice/AppData/Local/Temp/file-notify-test20748zac)
(17490424 deleted
c:/Users/Fabrice/AppData/Local/Temp/file-notify-test20748zac) (17490424
stopped c:/Users/Fabrice/AppData/Local/Temp/file-notify-test20748zac))
events: ((created changed deleted)) ((17491048 created
c:/Users/Fabrice/AppData/Local/Temp/file-notify-test-parent20748Ali/file-notify-test20748Nvo)
(17491048 changed
c:/Users/Fabrice/AppData/Local/Temp/file-notify-test-parent20748Ali/file-notify-test20748Nvo))
Test file-notify-test02-events backtrace:
  #[0 "\306\307\310C\307C\3111(\312\313\314\315$\317\"\32
  ert--run-test-internal([cl-struct-ert--test-execution-info [cl-struc
  ert-run-test([cl-struct-ert-test file-notify-test02-events "Check fi
  ert-run-or-rerun-test([cl-struct-ert--stats (not (tag :expensive-tes
  ert-run-tests((not (tag :expensive-test)) #[385 "\306\307\"\203G\2
  ert-run-tests-batch((not (tag :expensive-test)))
  ert-run-tests-batch-and-exit((not (tag :expensive-test)))
  eval((ert-run-tests-batch-and-exit (quote (not (tag :expensive-test)
  command-line-1(("-L" ";../../../emacs/test/automated" "-l" "ert" "-l
  command-line()
  normal-top-level()
Test file-notify-test02-events condition:
    (ert-test-failed
     ((should
       (dolist
           (elt events result)
         (setq result ...)))
      :form
      (let
          ((--dolist-tail-- events))
        (while --dolist-tail--
          (let ... ... ...))
        result)
      :value nil))
   FAILED  3/6  file-notify-test02-events
Reverting buffer `file-notify-test20748a5u'.
   passed  4/6  file-notify-test03-autorevert
events: ((changed changed deleted stopped)) ((19211556 changed
c:/Users/Fabrice/AppData/Local/Temp/file-notify-test20748ZNE) (19211556
changed c:/Users/Fabrice/AppData/Local/Temp/file-notify-test20748ZNE)
(19211556 deleted
c:/Users/Fabrice/AppData/Local/Temp/file-notify-test20748ZNE) (19211556
stopped c:/Users/Fabrice/AppData/Local/Temp/file-notify-test20748ZNE))
   passed  5/6  file-notify-test04-file-validity
   passed  6/6  file-notify-test05-dir-validity


> > For the rest of this test, whereas the test passes in interactive mode,
> it fails in batch mode with
> > several 'deleted' notifications. Namely, I need to apply the following
> for the test to pass.
>
> Does it help to add a call to
>
>   (read-event nil nil 0.1)
>
> after the code that invokes the deletion in each of these cases?
>

I have added this wait time after each delete-directory call in
file-notify-test02-events
with no difference.

I must add that the same test works interactively.
It is only in batch mode that I don't see the deleted notifications.


Fabrice

[-- Attachment #2: Type: text/html, Size: 6582 bytes --]

  parent reply	other threads:[~2016-02-07 19:34 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-02  6:23 bug#22534: File notify broken on Windows Fabrice Popineau
2016-02-02 16:15 ` Eli Zaretskii
2016-02-02 23:36   ` Fabrice Popineau
2016-02-03  8:07     ` Michael Albinus
2016-02-03 12:15       ` Fabrice Popineau
2016-02-04  9:49         ` Fabrice Popineau
2016-02-04 18:47           ` Eli Zaretskii
2016-02-05  5:59             ` Fabrice Popineau
2016-02-05 10:10               ` Eli Zaretskii
2016-02-05 15:34                 ` Fabrice Popineau
2016-02-05 17:18                   ` Michael Albinus
2016-02-05 19:43                     ` Eli Zaretskii
2016-02-05 21:58                       ` Michael Albinus
2016-02-06 16:53                       ` Eli Zaretskii
2016-02-06 19:24                         ` Michael Albinus
2016-02-06 19:55                           ` Eli Zaretskii
2016-02-07 13:37                             ` Fabrice Popineau
2016-02-07 17:46                               ` Eli Zaretskii
2016-02-07 18:37                                 ` Michael Albinus
2016-02-07 19:34                                 ` Fabrice Popineau [this message]
2016-02-08 10:27                                   ` Michael Albinus
2016-02-08 10:43                                     ` Fabrice Popineau
2016-02-08 18:09                                       ` Eli Zaretskii
2016-02-08 19:14                                         ` Michael Albinus
2016-02-08 19:36                                           ` Eli Zaretskii
2016-02-08 20:00                                             ` Michael Albinus
2016-02-08 20:18                                               ` Eli Zaretskii
2016-02-08 20:51                                                 ` Michael Albinus
2016-02-08 21:03                                                   ` Eli Zaretskii
2016-02-08 21:13                                                     ` Michael Albinus
2016-02-09  3:35                                                       ` Eli Zaretskii
2016-02-09  8:13                                                         ` Michael Albinus
2016-02-09 10:08                                                           ` Michael Albinus
2016-02-09 17:09                                                             ` Eli Zaretskii
2016-02-09 18:47                                                               ` Michael Albinus
2016-02-10 11:25                                                                 ` Michael Albinus
2016-02-08 19:15                                         ` Fabrice Popineau
2016-02-10 19:15                                           ` Eli Zaretskii
2016-02-11 15:19                                             ` Fabrice Popineau
2016-02-12  8:38                                               ` Eli Zaretskii
2016-02-15 15:31                                             ` Michael Albinus
2016-02-15 15:59                                               ` Eli Zaretskii
2016-02-15 17:52                                                 ` Michael Albinus
2016-02-15 19:46                                                   ` Fabrice Popineau
2016-02-08 10:21                               ` Michael Albinus
2016-02-08 10:40                                 ` Fabrice Popineau
2016-02-08 14:33                                   ` Fabrice Popineau
2016-02-05 19:31                   ` Eli Zaretskii
2016-02-05 17:23                 ` Michael Albinus
     [not found] ` <CAFgFV9P2D6-dcuHnZ2VQ6F2sW85Aj3AZWL85RJxai-LyuE87xw@mail.gmail.com>
     [not found]   ` <CAFgFV9MghLviOcmwmDmasZNmkDjZfoBSuwFOoSHXQNtxxkg9mA@mail.gmail.com>
     [not found]     ` <83egcbun0o.fsf@gnu.org>
     [not found]       ` <CAFgFV9Og72xHW5O9JE8og=7NrTgeMvx01bg_HBOYzduH1vjLfQ@mail.gmail.com>
     [not found]         ` <8360xnukzx.fsf@gnu.org>
     [not found]           ` <CAFgFV9N-+bZf-bBXFaDNsv3dvFQjJbpggPMJrcZ30M-HSaZDwg@mail.gmail.com>
     [not found]             ` <83a8mvprbg.fsf@gnu.org>
     [not found]               ` <CAFgFV9Patgn1GJrDkSeMKsS4cewdQRp4F8VYoftybTQ5TmfPAg@mail.gmail.com>
     [not found]                 ` <83oabbnxvs.fsf@gnu.org>
     [not found]                   ` <CAFgFV9N55HuPkF+mVx6Eh9szUUxhu+BkF-2KJ7nx46-3wsph5Q@mail.gmail.com>
     [not found]                     ` <83io1glmkg.fsf@gnu.org>
     [not found]                       ` <CAFgFV9PxijF1Q3WPo1Ebfqe4cJQVYyiu4bOm41QV4L_OvYZ35w@mail.gmail.com>
     [not found]                         ` <87y4abtwhq.fsf@gmx.de>
     [not found]                           ` <8337sjjsql.fsf@gnu.org>
     [not found]                             ` <CAFgFV9MkwdPHxf_6VqYZdBt8vXwbBUxcOivkCyZWYTvi0H24XQ@mail.gmail.com>
     [not found]                               ` <87ziuc3gay.fsf@gmx.de>
     [not found]                                 ` <83twkkwxdi.fsf@gnu.org>
     [not found]                                   ` <CAFgFV9MdwHK8OG69Dpw6wPj6FK9Fi5c3vQ_jFZaz1BfgGLBLbw@mail.gmail.com>
     [not found]                                     ` <83mvqcwa2v.fsf@gnu.org>
     [not found]                                       ` <CAFgFV9NTSw1LKn_CzrKxNmZvRMbqrctSEer_8oaniH+Lti=n6g@mail.gmail.com>
2016-03-08  7:44                                         ` Michael Albinus
     [not found]                                         ` <83r3fil7z3.fsf@gnu.org>
     [not found]                                           ` <CAFgFV9Pkmz0E7h4mfCLCcxmt29dbDNfAOOp=mbPKnCpPt1B3LQ@mail.gmail.com>
     [not found]                                             ` <83bn6ljbku.fsf@gnu.org>
     [not found]                                               ` <CAFgFV9PnLRZ=2-C4S9jSMpmDUxijCUQQnu-YnAv2-ifm+6kZBA@mail.gmail.com>
     [not found]                                                 ` <83fuvm8wjx.fsf@gnu.org>
2016-03-19 14:51                                                   ` Michael Albinus

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

  List information: https://www.gnu.org/software/emacs/

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

  git send-email \
    --in-reply-to=CAFgFV9NxOaAy7fB-FNdk5-e7es3kVKM5m+BbNiA3m9UDQ38QYg@mail.gmail.com \
    --to=fabrice.popineau@gmail.com \
    --cc=22534@debbugs.gnu.org \
    --cc=eliz@gnu.org \
    --cc=michael.albinus@gmx.de \
    /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 public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).