[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#21804: 25.0.50; file-notify-tests failure on Cygwin
From: |
Ken Brown |
Subject: |
bug#21804: 25.0.50; file-notify-tests failure on Cygwin |
Date: |
Fri, 30 Dec 2016 18:15:57 -0500 |
User-agent: |
Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.6.0 |
Hi Michael,
On 12/30/2016 2:16 PM, Michael Albinus wrote:
Ken Brown <kbrown@cornell.edu> writes:
Actually it turns out to be GFamFileMonitor on my system, presumably
because I have the gamin package installed.
It turns out that this isn't special to my system. The emacs package on
Cygwin requires libglib2.0_0, which requires gamin. So the monitor on
Cygwin will always be of type GFamFileMonitor.
Next time I have access to a cygwin machine I'll check. However, I
wonder whether we need to respect the polling period then. According to
<http://oss.sgi.com/projects/fam/faq.html#what_is_fam>, FAM does not poll.
It says on that page, "If FAM is running on a system that doesn't have a
supported kernel monitor, it polls." And I've checked the gamin sources
(since Cygwin uses gamin for its implementation of libfam), and the same
seems to be true there.
On the other hand, the default polling interval seems to be 1 second, so
I'm not sure why the tests need such a big timeout. One factor might be
the following in gio/glocalfilemonitor.c:
#define VIRTUAL_CHANGES_DONE_DELAY 2 * G_TIME_SPAN_SECOND
If I understand the code correctly, this causes a 2-second delay before
a CHANGES_DONE_HINT event is sent after a CHANGED event.
As a quick check, however, I applied the following patch...
--- a/test/lisp/filenotify-tests.el
+++ b/test/lisp/filenotify-tests.el
@@ -73,7 +73,8 @@ file-notify--test-read-event
;; gio/gpollfilemonitor.c declares POLL_TIME_SECS 5. So we must
;; wait at least this time.
((and (string-equal (file-notify--test-library) "gfilenotify")
- (string-equal (file-notify--test-monitor) "GPollFileMonitor"))
+ (or (string-equal (file-notify--test-monitor) "GPollFileMonitor")
+ (string-equal (file-notify--test-monitor) "GFamFileMonitor")))
7)
((file-remote-p temporary-file-directory) 0.1)
(t 0.01))))
...and all the inexpensive tests passed. I'll keep playing with this.
It's OK for me if you commit this patch. You know cygwin behaviour much
better then I do.
Let me play with this a little more first.
Best regards,
Ken
- bug#21804: 25.0.50; file-notify-tests failure on Cygwin, (continued)
- bug#21804: 25.0.50; file-notify-tests failure on Cygwin, Ken Brown, 2016/12/27
- bug#21804: 25.0.50; file-notify-tests failure on Cygwin, Ken Brown, 2016/12/28
- bug#21804: 25.0.50; file-notify-tests failure on Cygwin, Michael Albinus, 2016/12/29
- bug#21804: 25.0.50; file-notify-tests failure on Cygwin, Ken Brown, 2016/12/29
- bug#21804: 25.0.50; file-notify-tests failure on Cygwin, Eli Zaretskii, 2016/12/30
- bug#21804: 25.0.50; file-notify-tests failure on Cygwin, Michael Albinus, 2016/12/30
- bug#21804: 25.0.50; file-notify-tests failure on Cygwin, Ken Brown, 2016/12/30
- bug#21804: 25.0.50; file-notify-tests failure on Cygwin, Eli Zaretskii, 2016/12/31
- bug#21804: 25.0.50; file-notify-tests failure on Cygwin, Michael Albinus, 2016/12/31
- bug#21804: 25.0.50; file-notify-tests failure on Cygwin, Michael Albinus, 2016/12/30
- bug#21804: 25.0.50; file-notify-tests failure on Cygwin,
Ken Brown <=