[flutter_tool] Kill a timing-out process before trying to drain its streams #40159
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.
Description
This PR fixes a test of subprocess timeout behavior such that its stdout and stderr streams won't be completed until the subprocess is killed. The corrected test required that
runAsync()
be fixed to kill a subprocess before trying to drain its output streams. I also maderunAsync()
only try to drain the output streams of a killed process for a second or so to handle the case where the attempt to kill the subprocess is unsuccessful for some reason.Related Issues
#35988
Tests
I added the following tests:
Updates to process_test.dart
Breaking Change
Does your PR require Flutter developers to manually update their apps to accommodate your change?