Skip to content
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

drive-examples handling of mobile is fragile #85147

Closed
stuartmorgan opened this issue Jun 23, 2021 · 1 comment · Fixed by flutter/plugins#4099
Closed

drive-examples handling of mobile is fragile #85147

stuartmorgan opened this issue Jun 23, 2021 · 1 comment · Fixed by flutter/plugins#4099
Labels
p: tooling Affects the flutter_plugin_tools package P2 Important issues not at the top of the work list package flutter/packages repository. See also p: labels. team Infra upgrades, team productivity, code health, technical debt. See also team: labels.

Comments

@stuartmorgan
Copy link
Contributor

The drive-examples command in the flutter/plugins tooling was originally written to not pass any device to flutter drive, apparently assuming that the correct device (and only that device) would be set up. When web and desktop support was added it was done via platform flags that do add the device; iOS and Android flags were added as well, but it turns out I didn't fully understand the flow when I added them and they don't actually work right. E.g., if you pass --ios, but only have an Android simulator running, it will run for Android.

We should pass explicit devices based on inspecting the available options and matching against the passed platform.

@stuartmorgan stuartmorgan added team Infra upgrades, team productivity, code health, technical debt. See also team: labels. plugin p: tooling Affects the flutter_plugin_tools package P2 Important issues not at the top of the work list labels Jun 23, 2021
stuartmorgan added a commit to flutter/plugins that referenced this issue Jun 30, 2021
Significantly restructures drive-examples:
- Migrates it to the new package-looping base command
- Enforces that only one platform is passed, since in practice multiple platforms never actually worked. (The logic is structured so that it will be easy to enable multi-platform if `flutter drive` gains multi-platform support.)
- Fixes the issue where `--ios` and `--android` were semi-broken, by doing explicit device targeting for them rather than relying on the default device being the right kind
- Extracts much of the logic to helpers so it's easier to understand the flow
- Removes support for a legacy integration test file structure that is no longer used
- Adds more test coverage; previously no failure cases were actually tested.

Fixes flutter/flutter#85147
Part of flutter/flutter#83413
amantoux pushed a commit to amantoux/plugins that referenced this issue Jul 10, 2021
Significantly restructures drive-examples:
- Migrates it to the new package-looping base command
- Enforces that only one platform is passed, since in practice multiple platforms never actually worked. (The logic is structured so that it will be easy to enable multi-platform if `flutter drive` gains multi-platform support.)
- Fixes the issue where `--ios` and `--android` were semi-broken, by doing explicit device targeting for them rather than relying on the default device being the right kind
- Extracts much of the logic to helpers so it's easier to understand the flow
- Removes support for a legacy integration test file structure that is no longer used
- Adds more test coverage; previously no failure cases were actually tested.

Fixes flutter/flutter#85147
Part of flutter/flutter#83413
@github-actions
Copy link

This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of flutter doctor -v and a minimal reproduction of the issue.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jul 30, 2021
fotiDim pushed a commit to fotiDim/plugins that referenced this issue Sep 13, 2021
Significantly restructures drive-examples:
- Migrates it to the new package-looping base command
- Enforces that only one platform is passed, since in practice multiple platforms never actually worked. (The logic is structured so that it will be easy to enable multi-platform if `flutter drive` gains multi-platform support.)
- Fixes the issue where `--ios` and `--android` were semi-broken, by doing explicit device targeting for them rather than relying on the default device being the right kind
- Extracts much of the logic to helpers so it's easier to understand the flow
- Removes support for a legacy integration test file structure that is no longer used
- Adds more test coverage; previously no failure cases were actually tested.

Fixes flutter/flutter#85147
Part of flutter/flutter#83413
stuartmorgan added a commit to flutter/packages that referenced this issue Feb 13, 2023
Significantly restructures drive-examples:
- Migrates it to the new package-looping base command
- Enforces that only one platform is passed, since in practice multiple platforms never actually worked. (The logic is structured so that it will be easy to enable multi-platform if `flutter drive` gains multi-platform support.)
- Fixes the issue where `--ios` and `--android` were semi-broken, by doing explicit device targeting for them rather than relying on the default device being the right kind
- Extracts much of the logic to helpers so it's easier to understand the flow
- Removes support for a legacy integration test file structure that is no longer used
- Adds more test coverage; previously no failure cases were actually tested.

Fixes flutter/flutter#85147
Part of flutter/flutter#83413
@flutter-triage-bot flutter-triage-bot bot added the package flutter/packages repository. See also p: labels. label Jul 5, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
p: tooling Affects the flutter_plugin_tools package P2 Important issues not at the top of the work list package flutter/packages repository. See also p: labels. team Infra upgrades, team productivity, code health, technical debt. See also team: labels.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant