Repository navigation
Migrate 5 iOS UI driver tests to Mac Simulators - #190679
auto-submit[bot] merged 9 commits into
Conversation
There was a problem hiding this comment.
Code Review
This pull request migrates several iOS integration UI driver tests to run on Mac simulators by wrapping the tasks in testWithNewIOSSimulator and passing a deviceIdOverride. Feedback highlights that the tags in .ci.yaml still contain "ios", which will incorrectly route tasks to physical devices, and that the target configuration for integration_ui_ios_screenshot is missing from .ci.yaml despite being updated in the Dart code.
There was a problem hiding this comment.
Code Review
This pull request migrates several iOS integration UI tests to run on a new iOS simulator using testWithNewIOSSimulator and updates the iOS Runner app delegate to support implicit Flutter engine initialization and scene manifests. However, the integration_ui_ios_screenshot task was migrated in the Dart code but its corresponding configuration in .ci.yaml was not updated to match the other migrated tasks.
|
@vashworth I created an issue to track the removal of |
|
This PR migrates the What these tests do: This batch covers Why it is safe to migrate: All of these are synthetic, framework-level UI interaction tests. They do not rely on physical hardware sensors (camera, GPS, microphone), Bluetooth, or specialized hardware performance profiling. Migrating them ensures we get the same test coverage while freeing up highly constrained physical iOS device capacity in LUCI for tests that actually require real hardware. |
@okorohelijah Did you look into the git history on if this test was ever run in CI? And if so, why was it removed? Looks like Ben already removed the files, but should the test actually be removed or is it a mistake that we're not testing it? Should it be tested? Does it pass? |
|
@vashworth yup I looked into the history and added the reason in the issue. The test (test_driver/screenshot_test.dart) was intentionally removed back by @christopherfujino in #115848 to drop the package:image dependency from flutter_tools. However, the devicelab task wrapper (integration_ui_ios_screenshot.dart) was left behind as a dead file. Because the test hasn't existed for almost 2 years, it hasn't been runnable or tested since. |
Lol I can't read apparently |
|
@okorohelijah Don't forget to move them out of bringup once they are passing! |
Remove bringup for https://github.com/flutter/flutter/pull/190679/changes. It's passing consistently on the dashboard Fixes flutter#190679 *If you had to change anything in the [flutter/tests] repo, include a link to the migration guide as per the [breaking change policy].* ## Pre-launch Checklist - [x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [x] I read the [AI contribution guidelines] and understand my responsibilities, or I am not using AI tools. - [x] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [x] I signed the [CLA]. - [x] I listed at least one issue that this PR fixes in the description above. - [ ] I updated/added relevant documentation (doc comments with `///`). - [x] I added new tests to check the change I am making, or this PR is [test-exempt]. - [ ] I followed the [breaking change policy] and added [Data Driven Fixes] where supported. - [x] All existing and new tests are passing. If you need help, consider asking for advice on the #hackers-new channel on [Discord]. If this change needs to override an active code freeze, provide a comment explaining why. The code freeze workflow can be overridden by code reviewers. See pinned issues for any active code freezes with guidance. **Note**: The Flutter team is currently trialing the use of [Gemini Code Assist for GitHub](https://developers.google.com/gemini-code-assist/docs/review-github-code). Comments from the `gemini-code-assist` bot should not be taken as authoritative feedback from the Flutter team. If you find its comments useful you can update your code accordingly, but if you are unsure or disagree with the feedback, please feel free to wait for a Flutter team member's review for guidance on which automated comments should be addressed. <!-- Links --> [Contributor Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview [AI contribution guidelines]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#ai-contribution-guidelines [Tree Hygiene]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md [test-exempt]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests [Flutter Style Guide]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md [Features we expect every widget to implement]: https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement [CLA]: https://cla.developers.google.com/ [flutter/tests]: https://github.com/flutter/tests [breaking change policy]: https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes [Discord]: https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md [Data Driven Fixes]: https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
PR for the first batch of migrating purely UI-based driver tests off physical iOS devices to Simulator VMs.
Part of #186414 - batch 1