flutter/packages/flutter_tools/test/integration.shard
Gustl22 f5ac225c8d
Reland: "Fix how Gradle resolves Android plugin" (#137115)
Relands #97823

When the tool migrated to `.flutter-plugins-dependencies`, the Gradle plugin was never changed.
Until now, the plugin had the heuristic that a plugin with a `android/build.gradle` file supported the Android platform.

Also applies schema of `getPluginDependencies` to `getPluginList` which uses a `List` of Object instead of `Properties`.

Fixes #97729
Cause of the error: 5f105a6ca7/packages/flutter_tools/gradle/flutter.gradle (L421C25-L421C25)

Fixes #98048
The deprecated line `include ":$name"` in `settings.gradle` (pluginEach) in old projects causes the `project.rootProject.findProject` to also find the plugin "project", so it is not failing on the `afterEvaluate` method. But the plugin shouldn't be included in the first place as it fails with `Could not find method implementation() for arguments` error in special cases.

Related to #48918, see [_writeFlutterPluginsListLegacy](27bc1cf61a/packages/flutter_tools/lib/src/flutter_plugins.dart (L248)).

Co-authored-by: Emmanuel Garcia <egarciad@google.com>
2023-12-21 16:55:04 +00:00
..
debug_adapter Typo fix in dartdoc in tool test (#139386) 2023-12-01 14:24:09 -05:00
test_data Reland: "Fix how Gradle resolves Android plugin" (#137115) 2023-12-21 16:55:04 +00:00
analyze_all_templates_test.dart [flutter_tools] Use process matcher for multidex test (#127996) 2023-06-01 22:24:08 +00:00
analyze_once_test.dart Finally remove analysis_options_user.yaml (#138261) 2023-11-13 22:13:08 +00:00
analyze_size_test.dart [flutter_tools] Use process matcher for multidex test (#127996) 2023-06-01 22:24:08 +00:00
analyze_suggestions_integration_test.dart [flutter_tools] cache flutter sdk version to disk (#124558) 2023-06-15 00:20:30 +00:00
android_e2e_api_test.dart [flutter_tools] Migrate more integration tests to process result matcher (#128737) 2023-06-15 13:25:32 -07:00
android_gradle_deprecated_plugin_apply_test.dart Reland "Warn when Gradle plugins are applied using the legacy apply script method (#140103) 2023-12-19 16:03:23 +00:00
android_gradle_java_version_test.dart [flutter_tools] Migrate more integration tests to process result matcher (#128737) 2023-06-15 13:25:32 -07:00
android_gradle_outputs_app_link_settings_test.dart Improves output file path logic in Android analyze (#136981) 2023-11-16 22:59:02 +00:00
android_gradle_print_build_variants_test.dart Add vmservice for android build options (#123034) 2023-04-18 18:16:09 +00:00
android_plugin_compilesdkversion_mismatch_test.dart Adapt wording for required Android SDK for plugins (#140043) 2023-12-14 05:45:15 +00:00
android_plugin_example_app_build_test.dart Bump gradle heap size limit in *everywhere* (#134665) 2023-09-13 10:36:24 -07:00
android_plugin_ndkversion_mismatch_test.dart Use Flutter app project's NDK version from FFI plugin (#131141) 2023-07-31 10:09:24 +00:00
android_plugin_new_output_dir_test.dart let the plugin's output generated in flutter/.android/plugins_build_output/${androidPlugin.name} (#94645) 2022-09-14 15:47:16 +00:00
android_plugin_skip_unsupported_test.dart Reland: "Fix how Gradle resolves Android plugin" (#137115) 2023-12-21 16:55:04 +00:00
background_isolate_test.dart Fix hot-restart test by ensuring updated timestmamp is in the future. (#97247) 2022-01-25 14:18:33 -08:00
bash_entrypoint_test.dart [flutter_tools] do not try to build tool from dart.sh (#129186) 2023-11-03 00:42:25 +00:00
batch_entrypoint_test.dart [flutter_tools] print out the unzipping method used by update_dart_sdk.ps1 (#133364) 2023-08-31 21:06:47 +00:00
break_on_framework_exceptions_test.dart Enable private field promotion for flutter_tools (#134474) 2023-09-12 20:20:04 +00:00
build_ios_config_only_test.dart [flutter_tools] Migrate more integration tests to process result matcher (#128737) 2023-06-15 13:25:32 -07:00
build_macos_config_only_test.dart Migrate more integration tests to process result matcher (#130994) 2023-07-20 21:02:12 +00:00
build_preview_test.dart [flutter_tools] move build_preview_test from commands/permeable to integration shard (#136912) 2023-10-19 22:03:04 +00:00
cache_test.dart Remove redundant arguments passed to redirecting factory constructors (#115497) 2022-11-17 00:47:14 +00:00
command_output_test.dart flutter config --list (#135401) 2023-09-27 07:02:13 +00:00
coverage_collection_test.dart migrate some file to null safety (#92957) 2021-12-16 11:39:12 -08:00
daemon_mode_test.dart [flutter_tools] migrate some integration tests to null safety (#103560) 2022-05-13 09:39:10 -07:00
debugger_stepping_test.dart Enable no_leading_underscores_for_local_identifiers (#96422) 2022-01-21 14:43:59 -08:00
deferred_components_test.dart Migrate more integration tests to process result matcher (#130994) 2023-07-20 21:02:12 +00:00
deprecated_gradle_settings_test.dart Revert automated changes made to deprecated settings.gradle (plugins.each) (#140037) 2023-12-20 15:45:08 +00:00
devtools_uri_test.dart Reland "Fix issue where DevTools would not be immediately available when using --start-paused (#126698)" (#129368) 2023-06-28 00:16:13 +05:30
downgrade_upgrade_integration_test.dart [flutter_tools] Fix flutter upgrade not finding git tags (#133778) 2023-08-31 22:01:10 +00:00
exit_code_test.dart [flutter_tools] Migrate more integration tests to process result matcher (#128737) 2023-06-15 13:25:32 -07:00
expression_evaluation_test.dart Prevent tests from producing dill files alongside the test file (#115075) 2022-11-10 20:00:19 +00:00
flutter_attach_test.dart Stop serving Observatory by default (#122419) 2023-03-23 12:52:30 -04:00
flutter_build_android_app_project_builddir_test.dart [flutter_tools] migrate some integration tests to null safety (#103560) 2022-05-13 09:39:10 -07:00
flutter_build_apk_verbose_test.dart Correctly propagate verbosity to subtasks in flutter.gradle (#117897) 2023-01-04 09:54:21 +00:00
flutter_build_config_only_test.dart [flutter_tools] cache flutter sdk version to disk (#124558) 2023-06-15 00:20:30 +00:00
flutter_build_wasm_test.dart [flutter_tools] Migrate more integration tests to process result matcher (#128737) 2023-06-15 13:25:32 -07:00
flutter_build_windows_test.dart [Windows] Add target architecture to build path (#131843) 2023-08-31 09:09:02 -07:00
flutter_build_with_compilation_error_test.dart [flutter_tools] Migrate more integration tests to process result matcher (#128737) 2023-06-15 13:25:32 -07:00
flutter_gen_test.dart [flutter_tools] migrate some integration tests to null safety (#103560) 2022-05-13 09:39:10 -07:00
flutter_run_test.dart [flutter_tools] Include mode in app.start event, and forward app.start to DAP clients (#121239) 2023-04-05 05:39:09 +00:00
flutter_run_with_error_test.dart Reland "Remove references to Observatory (#118577)" (#121606) 2023-02-28 11:57:04 -05:00
forbidden_imports_test.dart Revert "Allow Flutter golden file tests to be flaky (#114450)" (#114902) 2022-11-08 09:26:55 -08:00
gen_l10n_test.dart Add locale-specific DateTime formatting syntax (#129573) 2023-06-29 09:23:34 -07:00
gradle_non_android_plugin_test.dart [flutter_tools] Use process matcher for multidex test (#127996) 2023-06-01 22:24:08 +00:00
hot_reload_errors_test.dart [flutter_tools] migrate some integration tests to null safety (#103560) 2022-05-13 09:39:10 -07:00
hot_reload_test.dart Simplify null check. (#117026) 2023-01-03 20:51:48 +00:00
hot_reload_with_asset_test.dart [flutter_tools] migrate some integration tests to null safety (#103560) 2022-05-13 09:39:10 -07:00
lifetime_test.dart [flutter_tools] migrate some integration tests to null safety (#103560) 2022-05-13 09:39:10 -07:00
multidex_build_test.dart [flutter_tools] Use process matcher for multidex test (#127996) 2023-06-01 22:24:08 +00:00
native_assets_test.dart Native assets support for Android (#135148) 2023-12-07 16:29:11 +00:00
observatory_port_test.dart Add spaces after flow control statements (#126320) 2023-05-15 11:07:30 +02:00
overall_experience_test.dart Native assets support for MacOS and iOS (#130494) 2023-09-10 08:07:13 +00:00
plist_parser_test.dart [flutter_tools] ensure processUtils reports exit code in ProcessExceptions (#136672) 2023-10-30 19:51:26 +00:00
README.md Allow plugins to use compileSdkPreview (#131901) 2023-12-12 20:06:04 +00:00
shader_compiler_test.dart [flutter_tools] add uint compilation test (#115317) 2022-11-15 01:39:59 +00:00
stateless_stateful_hot_reload_test.dart Remove test that verifies we can switch to stateless (#120390) 2023-02-09 20:58:57 +00:00
template_manifest_test.dart Simplify null check. (#117026) 2023-01-03 20:51:48 +00:00
test_driver.dart Remove the fast reassemble / single widget reload feature (#132255) 2023-08-10 21:48:06 +00:00
test_test.dart Fix mac tool_integration_tests with Xcode 15 (#133217) 2023-08-24 17:03:17 +00:00
test_utils.dart Update dev/bots/test.dart (and friends) to provide --local-engine-host. (#132354) 2023-08-14 13:21:14 -07:00
timeline_test.dart [flutter_tools] timeline_test.dart flaky (#116667) 2023-01-03 20:44:53 +00:00
tool_backend_test.dart Update flutter_tools/bin/*.(dart|sh) to provide, if set, --local-engine-host. (#132336) 2023-08-10 15:25:57 -07:00
transition_test_utils.dart Reland "Native assets support for Linux" (#135097) 2023-09-22 06:07:06 +00:00
unit_coverage_test.dart [flutter_tools] migrate some integration tests to null safety (#103560) 2022-05-13 09:39:10 -07:00
variable_expansion_windows_test.dart [flutter_tools] migrate some integration tests to null safety (#103560) 2022-05-13 09:39:10 -07:00
variable_expansion_windows.dart Enable avoid_print lint. (#91444) 2021-10-07 16:48:04 -07:00
vmservice_integration_test.dart Removes ios universal link vmservices and let xcodeproject to dump js… (#133709) 2023-08-31 21:50:54 +00:00
web_plugin_registrant_test.dart Migrate more integration tests to process result matcher (#130994) 2023-07-20 21:02:12 +00:00
xcode_backend_test.dart [Reland] Skip injecting Bonjour settings when port publication is disabled (#136842) 2023-10-19 17:38:52 +00:00

Integration tests

These tests are not hermetic, and use the actual Flutter SDK. While they don't require actual devices, they run flutter_tester to test Dart VM and Flutter integration.

Use this command to run (from the flutter_tools directory):

../../bin/cache/dart-sdk/bin/dart run test test/integration.shard

You need to have downloaded the Dart SDK in your Flutter clone for this to work. Running ../../bin/flutter will automatically download it.

Coverage exclusion

These tests are expensive to run and do not give meaningful coverage information for the flutter tool (since they are black-box tests that run the tool as a subprocess, rather than being unit tests). For this reason, they are in a separate shard when running on continuous integration and are not run when calculating coverage.

Adding new test files

When adding a new test file make sure that it ends with _test.dart, or else it will not be run.