test(subscriber): prefer sleep over yield_now in tests#475
Merged
Conversation
A flakiness problem has been discovered with the `console-subscriber` integration tests introduced in #452. Issue #473 is tracking the issue. It has been observed that we only "miss" the wake operation event when it comes from `yield_now()`, but not when it comes from a task that yielded due to `sleep`, even when the duration is zero. it is likely that this is due to nature of the underlying race condition. This change removes all the calls to `yield_now()` from the `framework` tests, except those where we wish to actually test self wakes.
hawkw
approved these changes
Oct 19, 2023
Member
hawkw
left a comment
There was a problem hiding this comment.
overall, this looks good to me!
i think it might be good if there were comments explaining the use of zero-duration sleeps rather than yield_nows, so that nobody comes along later and thinks "these seem like they could be replaced with yield_now", without the original context for why we use sleep here.
if you don't mind adding comments, let's get this merged!
Moved all the sleeps out into a separate function and use it to describe why we're using sleep instead of yield_now when there's no difference.
Collaborator
Author
|
Comments added! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A flakiness problem has been discovered with the
console-subscriberintegration tests introduced in #452. Issue #473 is tracking the issue.
It has been observed that we only "miss" the wake operation event when
it comes from
yield_now(), but not when it comes from a task thatyielded due to
sleep, even when the duration is zero. it is likelythat this is due to nature of the underlying race condition.
This change removes all the calls to
yield_now()from theframeworktests, except those where we wish to actually test self wakes.