-
Notifications
You must be signed in to change notification settings - Fork 181
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
Actually include attribute-defined properties in patch computation #944
Conversation
And of course, like clockwork, tests start failing on MacOS. I promise they all pass on Windows. :-) |
Code looks good, and tests pass for me on macOS, at least most of the time... These test failures have been occurring because macOS' FSEvents API occasionally reports events that occurred before the serve session starts - i.e. in here rojo/tests/rojo_test/serve_util.rs Lines 77 to 98 in 3ca975d
we're sometimes getting events from copying the test files to temporary directories. The only public information I can find about this behavior is this Stack Overflow question: https://stackoverflow.com/questions/47679298/howto-avoid-receiving-old-events-in-fseventstream-callback-fsevents-framework-o. It seems to happen more often when the system is under higher load, but I haven't been able to make any hard correlations. I haven't been able to find any way we can avoid this. At this point, I'm thinking we should just sleep in between copying files and starting the server, hope it's enough time for FSEvents to not report these events, and be done with it. I've done this here: #945 |
Good news: that seems to have done it. Hopefully we can find a solution that isn't that at some point, but for now I think MacOS tests taking slightly longer isn't that bad. |
Comment: added. |
Closes #929.
It turns out the underlying issue was that we weren't accounting for ref properties at all in the patch computation. This resolves that issue by just collecting them during
compute_property_patch
.Of note, I've decided to just reuse the
ref_properties
test files for this since it's ultimately academic either way. It adds noise to the snapshot files but I think it's fine because the only thing that really matters here is themessageCursor
on the return from the read endpoint. Let me know if you'd prefer a cleaner snapshot.