-
Notifications
You must be signed in to change notification settings - Fork 29.7k
[CP-stable][web] robustify safaridriver launch sequence #164191
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
[CP-stable][web] robustify safaridriver launch sequence #164191
Conversation
Improve safaridriver launch sequence as follows: - Fix retry: the previous version would call `_startDriverProcess` recursively from within a listener to the stderr output. But by then the outer `_startDriverProcess` call would have completed its future, so the retry mechanism would kick in while tests are already running. - Wait for `safaridriver` server process to start listening and responding to WebDriver commands (using `/status` as the smoke test). - Smoke-test the driver session by attempting to list all windows (`WebDriver.windows`). - When `safaridriver` fails to pass all of the above checks, both close the session and kill the `safaridriver` process. Killing the process alone leaves Safari windows open. Closing the session alone leaves `safaridriver` processes open. - When tests are finished use `quit()` instead of `window.close()`, because the latter does not close the session.
|
@vashworth please fill out the PR description above, afterwards the release team will review this request. |
eyebrowsoffire
left a comment
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.
LGTM
justinmc
left a comment
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.
LGTM 👍 Thanks @eyebrowsoffire for the review.
ea7fb0a
into
flutter:flutter-3.29-candidate.0
This pull request is created by automatic cherry pick workflow
Please fill in the form below, and a flutter domain expert will evaluate this cherry pick request.
Issue Link:
What is the link to the issue this cherry-pick is addressing?
#150023
Changelog Description:
Explain this cherry pick in one line that is accessible to most Flutter developers. See best practices for examples
Improve safaridriver launch process in Flutter's CI testing.
Impact Description:
What is the impact (ex. visual jank on Samsung phones, app crash, cannot ship an iOS app)? Does it impact development (ex. flutter doctor crashes when Android Studio is installed), or the shipping production app (the app crashes on launch)
Improve stability of Flutter's macOS web tests in CI. No impact to customers, only release team.
Workaround:
Is there a workaround for this issue?
Rerun.
Risk:
What is the risk level of this cherry-pick?
Test Coverage:
Are you confident that your fix is well-tested by automated tests?
Validation Steps:
What are the steps to validate that this fix works?
N/A