First pass fixing tests that raise exceptions caught by asyncio.gather #25860
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.
So I realized that we use
asyncio.wait
at a bunch of places without checking the result. The problem ofasyncio.wait
is that any exception is lost and cannot be attributed to a certain place. This is bad.So we should start exchanging
asyncio.wait
withasyncio.gather
, so that exceptions can propagate. Each time we do this, we will catch bugs and tests that were raising during teardown (which is also some flaky tests!)This PR is a bunch of fixes required for letting tests pass after we start using
asyncio.gather
insidehass.async_block_till_done
.Eventually I want to phase out the using of
asyncio.wait
without checking the return values.Test failures in this pass were caused, among other things by:
persistent_notification.create
service