-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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
Windows: Fix //test/common/filesystem:watcher_impl_test #12496
Windows: Fix //test/common/filesystem:watcher_impl_test #12496
Conversation
- Tests that used a non-blocking libevent event loop are flaky on Windows (and would be flaky on other platforms if event notifications routinely took longer to be propagated) since the event loop could exit before an event notification. Switching to use a blocking event loop prevents early exit before filesystem events are evaluated. - Skip SymlinkAtomicRename test as Windows does not have an atomic file move API that can move a directory/symlink where the new name is a non-empty existing directory/symlink (MoveFileEx can atomically replace a file with a file however). Signed-off-by: William A Rowe Jr <[email protected]> Co-authored-by: Sunjay Bhatia <[email protected]>
cc @envoyproxy/windows-dev |
There might be something we can do about the atomic move test /wait |
Trying a delete and then move we're not seeing any events get generated, the PR description still stands |
If someone has power to remove the |
/assign @dio for maintainer review |
🙀 Error while processing event:
|
/assign @dio |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
- Tests that used a non-blocking libevent event loop are flaky on Windows (and would be flaky on other platforms if event notifications routinely took longer to be propagated) since the event loop could exit before an event notification. Switching to use a blocking event loop prevents early exit before filesystem events are evaluated. - Skip SymlinkAtomicRename test as Windows does not have an atomic file move API that can move a directory/symlink where the new name is a non-empty existing directory/symlink (MoveFileEx can atomically replace a file with a file, however). Signed-off-by: William A Rowe Jr <[email protected]> Co-authored-by: Sunjay Bhatia <[email protected]> Co-authored-by: William A Rowe Jr <[email protected]>
- Tests that used a non-blocking libevent event loop are flaky on Windows (and would be flaky on other platforms if event notifications routinely took longer to be propagated) since the event loop could exit before an event notification. Switching to use a blocking event loop prevents early exit before filesystem events are evaluated. - Skip SymlinkAtomicRename test as Windows does not have an atomic file move API that can move a directory/symlink where the new name is a non-empty existing directory/symlink (MoveFileEx can atomically replace a file with a file, however). Signed-off-by: William A Rowe Jr <[email protected]> Co-authored-by: Sunjay Bhatia <[email protected]> Co-authored-by: William A Rowe Jr <[email protected]> Signed-off-by: chaoqinli <[email protected]>
Commit Message:
Windows: Fix //test/common/filesystem:watcher_impl_test
Windows (and would be flaky on other platforms if event notifications
routinely took longer to be propagated) since the event loop could exit
before an event notification. Switching to use a blocking event loop
in places where we expect a callback to be fired prevents early exit before
filesystem events are evaluated.
move API that can move a directory/symlink where the new name is a non-empty
existing directory/symlink (MoveFileEx can atomically replace a file
with a file however).
Additional Description:
Risk Level: Low
Testing: Modifies unit tests, checked on Windows locally
Docs Changes: N/A
Release Notes: N/A