* Re: [Emacs-diffs] master 716b468: Extend `file-notify-test02-rm-watch' [not found] ` <20170322131611.5FF7D20E17@vcs0.savannah.gnu.org> @ 2017-04-04 22:36 ` Ken Brown 2017-04-05 6:58 ` Michael Albinus 2017-04-05 21:02 ` Andreas Politz 0 siblings, 2 replies; 11+ messages in thread From: Ken Brown @ 2017-04-04 22:36 UTC (permalink / raw) To: emacs-devel, Michael Albinus On 3/22/2017 9:16 AM, Michael Albinus wrote: > branch: master > commit 716b46848989bc343797d98488a7a0cc33ed3179 > Author: Michael Albinus <michael.albinus@gmx.de> > Commit: Michael Albinus <michael.albinus@gmx.de> > > Extend `file-notify-test02-rm-watch' > > * test/lisp/filenotify-tests.el (file-notify-test02-rm-watch): > Expect it failed for inotify. Divide tests into different > `unwind-protect' clauses. Check, that removing watch > descriptors out of order do not harm. (Bug#26126) Hi Michael, Starting with this commit, file-notify-test02-rm-watch fails on Cygwin: $ make -C test filenotify-tests SELECTOR='\"file-notify-test02-rm-watch$$\"' [...] Test file-notify-test02-rm-watch condition: (ert-test-failed ((should (equal results (list 2))) :form (equal nil (2)) :value nil :explanation (different-types nil (2)))) This may be another of those timing issues that we've dealt with before, but I haven't had a chance yet to look at it in detail. Ken ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Emacs-diffs] master 716b468: Extend `file-notify-test02-rm-watch' 2017-04-04 22:36 ` [Emacs-diffs] master 716b468: Extend `file-notify-test02-rm-watch' Ken Brown @ 2017-04-05 6:58 ` Michael Albinus 2017-04-05 19:24 ` Ken Brown 2017-04-05 21:02 ` Andreas Politz 1 sibling, 1 reply; 11+ messages in thread From: Michael Albinus @ 2017-04-05 6:58 UTC (permalink / raw) To: Ken Brown; +Cc: emacs-devel Ken Brown <kbrown@cornell.edu> writes: > Hi Michael, Hi Ken, > Starting with this commit, file-notify-test02-rm-watch fails on Cygwin: > > $ make -C test filenotify-tests SELECTOR='\"file-notify-test02-rm-watch$$\"' > > This may be another of those timing issues that we've dealt with > before, but I haven't had a chance yet to look at it in detail. Maybe. I'm very short in time, but if you could provide me a recent Emacs build for cygwin, I'll try to test it. > Ken Best regards, Michael. ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Emacs-diffs] master 716b468: Extend `file-notify-test02-rm-watch' 2017-04-05 6:58 ` Michael Albinus @ 2017-04-05 19:24 ` Ken Brown 0 siblings, 0 replies; 11+ messages in thread From: Ken Brown @ 2017-04-05 19:24 UTC (permalink / raw) To: Michael Albinus; +Cc: emacs-devel On 4/5/2017 2:58 AM, Michael Albinus wrote: > Ken Brown <kbrown@cornell.edu> writes: >> Starting with this commit, file-notify-test02-rm-watch fails on Cygwin: >> >> $ make -C test filenotify-tests SELECTOR='\"file-notify-test02-rm-watch$$\"' >> >> This may be another of those timing issues that we've dealt with >> before, but I haven't had a chance yet to look at it in detail. > > Maybe. I'm very short in time, but if you could provide me a recent > Emacs build for cygwin, I'll try to test it. I've just uploaded one to my private Cygwin repository at http://sanibeltranquility.com/cygwin/index.html There are instructions at that site. Let me know if anything is unclear. Thanks. Ken ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Emacs-diffs] master 716b468: Extend `file-notify-test02-rm-watch' 2017-04-04 22:36 ` [Emacs-diffs] master 716b468: Extend `file-notify-test02-rm-watch' Ken Brown 2017-04-05 6:58 ` Michael Albinus @ 2017-04-05 21:02 ` Andreas Politz 2017-04-06 2:59 ` Ken Brown 1 sibling, 1 reply; 11+ messages in thread From: Andreas Politz @ 2017-04-05 21:02 UTC (permalink / raw) To: Ken Brown; +Cc: Michael Albinus, emacs-devel [-- Attachment #1: Type: text/plain, Size: 341 bytes --] Ken Brown <kbrown@cornell.edu> writes: > This may be another of those timing issues that we've dealt with > before [...]. I think it is as well. If cygwin's file-notify back-end runs on a polling timer, we need to make sure that it has acknowledged the file's existence before we delete it. Maybe you could try out the following patch. [-- Attachment #2: Type: text/plain, Size: 561 bytes --] diff --git a/test/lisp/filenotify-tests.el b/test/lisp/filenotify-tests.el index 54e7ebfc0e..9b5c751021 100644 --- a/test/lisp/filenotify-tests.el +++ b/test/lisp/filenotify-tests.el @@ -425,6 +425,7 @@ file-notify--test-make-temp-name '(change) #'second-callback))) ;; Remove first watch. (file-notify-rm-watch file-notify--test-desc) + (file-notify--test-read-event) ;; Only the second callback shall run. (delete-file file-notify--test-tmpfile) (file-notify--wait-for-events [-- Attachment #3: Type: text/plain, Size: 5 bytes --] -ap ^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [Emacs-diffs] master 716b468: Extend `file-notify-test02-rm-watch' 2017-04-05 21:02 ` Andreas Politz @ 2017-04-06 2:59 ` Ken Brown 2017-04-07 14:56 ` Ken Brown 0 siblings, 1 reply; 11+ messages in thread From: Ken Brown @ 2017-04-06 2:59 UTC (permalink / raw) To: Andreas Politz; +Cc: Michael Albinus, emacs-devel On 4/5/2017 5:02 PM, Andreas Politz wrote: > Ken Brown <kbrown@cornell.edu> writes: > >> This may be another of those timing issues that we've dealt with >> before [...]. > > I think it is as well. If cygwin's file-notify back-end runs on a polling > timer, we need to make sure that it has acknowledged the file's > existence before we delete it. Maybe you could try out the following > patch. > > > > diff --git a/test/lisp/filenotify-tests.el b/test/lisp/filenotify-tests.el > index 54e7ebfc0e..9b5c751021 100644 > --- a/test/lisp/filenotify-tests.el > +++ b/test/lisp/filenotify-tests.el > @@ -425,6 +425,7 @@ file-notify--test-make-temp-name > '(change) #'second-callback))) > ;; Remove first watch. > (file-notify-rm-watch file-notify--test-desc) > + (file-notify--test-read-event) > ;; Only the second callback shall run. > (delete-file file-notify--test-tmpfile) > (file-notify--wait-for-events No, it still fails. Ken ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Emacs-diffs] master 716b468: Extend `file-notify-test02-rm-watch' 2017-04-06 2:59 ` Ken Brown @ 2017-04-07 14:56 ` Ken Brown 2017-05-01 10:21 ` Michael Albinus 0 siblings, 1 reply; 11+ messages in thread From: Ken Brown @ 2017-04-07 14:56 UTC (permalink / raw) To: Andreas Politz; +Cc: Michael Albinus, emacs-devel On 4/5/2017 10:59 PM, Ken Brown wrote: > On 4/5/2017 5:02 PM, Andreas Politz wrote: >> Ken Brown <kbrown@cornell.edu> writes: >> >>> This may be another of those timing issues that we've dealt with >>> before [...]. >> >> I think it is as well. If cygwin's file-notify back-end runs on a >> polling >> timer, we need to make sure that it has acknowledged the file's >> existence before we delete it. Maybe you could try out the following >> patch. >> >> >> >> diff --git a/test/lisp/filenotify-tests.el >> b/test/lisp/filenotify-tests.el >> index 54e7ebfc0e..9b5c751021 100644 >> --- a/test/lisp/filenotify-tests.el >> +++ b/test/lisp/filenotify-tests.el >> @@ -425,6 +425,7 @@ file-notify--test-make-temp-name >> '(change) #'second-callback))) >> ;; Remove first watch. >> (file-notify-rm-watch file-notify--test-desc) >> + (file-notify--test-read-event) >> ;; Only the second callback shall run. >> (delete-file file-notify--test-tmpfile) >> (file-notify--wait-for-events > > No, it still fails. You're on the right track, however. The following patch does fix the problem: --- a/test/lisp/filenotify-tests.el +++ b/test/lisp/filenotify-tests.el @@ -425,6 +425,7 @@ file-notify--test-make-temp-name '(change) #'second-callback))) ;; Remove first watch. (file-notify-rm-watch file-notify--test-desc) + (sit-for 0.1) ;; Only the second callback shall run. (delete-file file-notify--test-tmpfile) (file-notify--wait-for-events Ken ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Emacs-diffs] master 716b468: Extend `file-notify-test02-rm-watch' 2017-04-07 14:56 ` Ken Brown @ 2017-05-01 10:21 ` Michael Albinus 2017-05-01 18:28 ` Ken Brown 0 siblings, 1 reply; 11+ messages in thread From: Michael Albinus @ 2017-05-01 10:21 UTC (permalink / raw) To: Ken Brown; +Cc: Andreas Politz, emacs-devel Ken Brown <kbrown@cornell.edu> writes: Hi Ken, > You're on the right track, however. The following patch does fix the > problem: Finally, I've got the opportunity to test it under cygwin. I've committed a patch which is similar to your proposal, and which fixes it in my environment. Could you, pls, crosscheck? One point still irritates me: the tests run under cygwin change the results after a while. Several tests which pass after a reboot of a machine, will fail when I use the machine for some hours. It isn't the first time I've observed this, so I need to reboot my machine again and again when working for cygwin. Do you know this behaviour? > Ken Best regards, Michael. ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Emacs-diffs] master 716b468: Extend `file-notify-test02-rm-watch' 2017-05-01 10:21 ` Michael Albinus @ 2017-05-01 18:28 ` Ken Brown 2017-05-01 18:45 ` Michael Albinus 0 siblings, 1 reply; 11+ messages in thread From: Ken Brown @ 2017-05-01 18:28 UTC (permalink / raw) To: Michael Albinus; +Cc: Andreas Politz, emacs-devel Hi Michael, On 5/1/2017 6:21 AM, Michael Albinus wrote: > Finally, I've got the opportunity to test it under cygwin. I've > committed a patch which is similar to your proposal, and which fixes it > in my environment. Could you, pls, crosscheck? On my systems I seem to need a much larger sit-for timeout (on the order of 0.1 or more rather than 0.001) in order for the test to pass. But maybe this is not worth worrying about, since it's clear that this is a timing issue rather than a file-notify problem. > One point still irritates me: the tests run under cygwin change the > results after a while. Several tests which pass after a reboot of a > machine, will fail when I use the machine for some hours. It isn't the > first time I've observed this, so I need to reboot my machine again and > again when working for cygwin. > > Do you know this behaviour? No, I don't see this. I hardly ever reboot my computer. But I mostly run 64-bit Cygwin. Are you running 32-bit Cygwin? And are the problems related to fork failures? (You would see error messages to this effect on the terminal or in the logs.) If so, I might be able to help. But in that case we should probably continue the discussion off-list. Regards, Ken ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Emacs-diffs] master 716b468: Extend `file-notify-test02-rm-watch' 2017-05-01 18:28 ` Ken Brown @ 2017-05-01 18:45 ` Michael Albinus 2017-05-08 13:28 ` Ken Brown 0 siblings, 1 reply; 11+ messages in thread From: Michael Albinus @ 2017-05-01 18:45 UTC (permalink / raw) To: Ken Brown; +Cc: Andreas Politz, emacs-devel Ken Brown <kbrown@cornell.edu> writes: > Hi Michael, Hi Ken, > On my systems I seem to need a much larger sit-for timeout (on the > order of 0.1 or more rather than 0.001) in order for the test to pass. > But maybe this is not worth worrying about, since it's clear that this > is a timing issue rather than a file-notify problem. I've moved the `sit-for' call to `file-notify--test-read-event' by intention, so we have just one place to change. You could do something like (if (eq system-type 'cygwin) (sit-for 0.1 'nodisp)) The other backends do not need them as far as I'm aware of, so do it at your convenience. Maybe also with a comment ... >> One point still irritates me: the tests run under cygwin change the >> results after a while. Several tests which pass after a reboot of a >> machine, will fail when I use the machine for some hours. It isn't the >> first time I've observed this, so I need to reboot my machine again and >> again when working for cygwin. >> >> Do you know this behaviour? > > No, I don't see this. I hardly ever reboot my computer. But I mostly > run 64-bit Cygwin. Are you running 32-bit Cygwin? And are the > problems related to fork failures? (You would see error messages to > this effect on the terminal or in the logs.) If so, I might be able > to help. But in that case we should probably continue the discussion > off-list. Likely 32-bit. But I use it very rarely, so I don't want to waste your time with debugging when you don't know it from somewhere else. > Regards, > > Ken Best regards, Michael. ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Emacs-diffs] master 716b468: Extend `file-notify-test02-rm-watch' 2017-05-01 18:45 ` Michael Albinus @ 2017-05-08 13:28 ` Ken Brown 2017-05-08 15:30 ` Michael Albinus 0 siblings, 1 reply; 11+ messages in thread From: Ken Brown @ 2017-05-08 13:28 UTC (permalink / raw) To: Michael Albinus; +Cc: Andreas Politz, emacs-devel On 5/1/2017 2:45 PM, Michael Albinus wrote: Hi Michael, > I've moved the `sit-for' call to `file-notify--test-read-event' by > intention, so we have just one place to change. You could do something > like > > (if (eq system-type 'cygwin) > (sit-for 0.1 'nodisp)) > > The other backends do not need them as far as I'm aware of, so do it at > your convenience. Maybe also with a comment ... I can find a sit-for time that works reliably when I repeatedly run file-notify-test02-rm-watch. But then that test still fails when it is run as part of 'make check'. My inclination at this point is to simply skip this test on Cygwin. Is that OK with you? Regards, Ken ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Emacs-diffs] master 716b468: Extend `file-notify-test02-rm-watch' 2017-05-08 13:28 ` Ken Brown @ 2017-05-08 15:30 ` Michael Albinus 0 siblings, 0 replies; 11+ messages in thread From: Michael Albinus @ 2017-05-08 15:30 UTC (permalink / raw) To: Ken Brown; +Cc: Andreas Politz, emacs-devel Ken Brown <kbrown@cornell.edu> writes: > Hi Michael, Hi Ken, > I can find a sit-for time that works reliably when I repeatedly run > file-notify-test02-rm-watch. But then that test still fails when it > is run as part of 'make check'. > > My inclination at this point is to simply skip this test on Cygwin. > Is that OK with you? For sure. Pls remove also the sit-for I've added for that test under cygwin. > Regards, > > Ken Best regards, Michael. ^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2017-05-08 15:30 UTC | newest] Thread overview: 11+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <20170322131610.22658.57119@vcs0.savannah.gnu.org> [not found] ` <20170322131611.5FF7D20E17@vcs0.savannah.gnu.org> 2017-04-04 22:36 ` [Emacs-diffs] master 716b468: Extend `file-notify-test02-rm-watch' Ken Brown 2017-04-05 6:58 ` Michael Albinus 2017-04-05 19:24 ` Ken Brown 2017-04-05 21:02 ` Andreas Politz 2017-04-06 2:59 ` Ken Brown 2017-04-07 14:56 ` Ken Brown 2017-05-01 10:21 ` Michael Albinus 2017-05-01 18:28 ` Ken Brown 2017-05-01 18:45 ` Michael Albinus 2017-05-08 13:28 ` Ken Brown 2017-05-08 15:30 ` Michael Albinus
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).