-
Notifications
You must be signed in to change notification settings - Fork 29.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
test: fix fs-watch-recursive
flakiness
#4629
Conversation
I really want their to be a better solution than "introduce a 100ms delay" but I don't know that there is a better solution. I suppose it theoretically may be possible to introduce a Speaking of which, what OS are you seeing this problem on? OS X? |
Yes, I thought about the |
Yeah, unfortunately right now I don't think there is a better solution :-( |
Can we try this with Ref: #4776 |
@Trott Unfortunately still times out :( |
@santigimeno @Trott ... any updates on this one? |
I'm OK with the timer if it's the only way we can come up with right now to make it less flaky. Maybe there's a feature request hiding in this problem for an event to be fired when the watcher is really watching. |
LGTM if @santigimeno is happy with it. |
(Note that it still needs a CI run, I think.) |
I'm OK until we find a better way. |
7da4fd4
to
c7066fb
Compare
Ping... @santigimeno @Trott ... any updates on this? |
It's been off my radar. Maybe @santigimeno knows (for example) if the test is still flaky and needs this fix. |
I've seen flakiness here from time to time building locally but it's
|
OK! |
OK, I think we should get this landed, but one other suggestion: Should we wrap the |
465fcd2
to
e2905d2
Compare
@Trott updated! |
LGTM. @nodejs/testing |
Nit: Maybe put in a brief comment explaining the need for the setTimeout on OS X. (kqueue or whatever can send events out of order, or whatever the correct explanation is. Maybe doesn't even need to get that detailed. Just link to this issue or something.) |
ping, can we get movement on this? timeout failure on osx @ https://ci.nodejs.org/job/node-test-commit-linux/4919/nodes=ubuntu1204-clang341-64 |
CI (since previous CI's are expired and 404'ing): https://ci.nodejs.org/job/node-test-pull-request/3916/ |
AIX build failure is unrelated. Waiting on ubuntu1604_docker_alpine34-64 but everything looks good. Still LGTM. |
The test is sometimes timing out because of a race condition between the fs event generated on file creation and the event being registered in the kqueue. To avoid this problem, create the file after 100 ms, that is the value used in the `fs_event_watch_dir_recursive` libuv test. PR-URL: nodejs#4629 Reviewed-By: Rich Trott <[email protected]>
e2905d2
to
a133b77
Compare
Landed in a133b77 |
The test is sometimes timing out because of a race condition between the fs event generated on file creation and the event being registered in the kqueue. To avoid this problem, create the file after 100 ms, that is the value used in the `fs_event_watch_dir_recursive` libuv test. PR-URL: nodejs#4629 Reviewed-By: Rich Trott <[email protected]>
The test is sometimes timing out because of a race condition between the fs event generated on file creation and the event being registered in the kqueue. To avoid this problem, create the file after 100 ms, that is the value used in the `fs_event_watch_dir_recursive` libuv test. PR-URL: #4629 Reviewed-By: Rich Trott <[email protected]>
The test is sometimes timing out because of a race condition between the fs event generated on file creation and the event being registered in the kqueue. To avoid this problem, create the file after 100 ms, that is the value used in the `fs_event_watch_dir_recursive` libuv test. PR-URL: #4629 Reviewed-By: Rich Trott <[email protected]>
The test is sometimes timing out because of a race condition between the fs event generated on file creation and the event being registered in the kqueue. To avoid this problem, create the file after 100 ms, that is the value used in the `fs_event_watch_dir_recursive` libuv test. PR-URL: #4629 Reviewed-By: Rich Trott <[email protected]>
The test is sometimes timing out because of a race condition between the fs event generated on file creation and the event being registered in the kqueue. To avoid this problem, create the file after 100 ms, that is the value used in the `fs_event_watch_dir_recursive` libuv test. PR-URL: #4629 Reviewed-By: Rich Trott <[email protected]>
The test is sometimes timing out because of a race condition between the fs event generated on file creation and the event being registered in the kqueue. To avoid this problem, create the file after 100 ms, that is the value used in the `fs_event_watch_dir_recursive` libuv test. PR-URL: #4629 Reviewed-By: Rich Trott <[email protected]>
The test is sometimes timing out because of a race condition between
the fs event generated on file creation and the event being registered
in the kqueue. To avoid this problem, create the file after 100 ms,
that is the value used in the libuv test:
https://github.com/libuv/libuv/blob/v1.x/test/test-fs-event.c#L411