flutter/packages/flutter_tools/test/integration.shard
Martin Kustermann 3a83e43ede
Make flutter_tools use newest package:{native_assets_builder,native_assets_cli,native_toolchain_c} (#158214)
Almost all of the code is just adopting to changes to the APIs of
`package:native_assets_builder`, `package:native_assets_cli` and
`package:native_toolchain_c`

There's only two semantic changes

* Removes a test that checks for a verification error if a build hook
produces a static library if the preferred linking mode is dynamic:
=> The test is written in a very hacky way. By monkey patching the build
config.json that flutter build actually made. This monkey patching
relies on package:cli_config which is now no longer used.
=> The actual code that checks for this mismatch lives in
dart-lang/native repository and is tested there. So there's really no
need to duplicate that.

* The `package:native_assets_builder` no longer knows about code assets.
This is something a user of that package (e.g. flutter tools) adds. Now
the dry-run functionality will invoke build hooks who produce code
assets without an architecture.
=> The `package:native_assets_builder` used to expand such a code asset
to N different code assets (one for each supported architecture)
=> This logic was now moved to flutter tools. => In the near future
we're going to this dry-run complexity, which will then also get rid of
this uglyness (of expanding to all archs of an OS).
2024-11-06 14:12:34 +01:00
..
debug_adapter Roll pub packages (#156925) 2024-10-18 20:17:18 +00:00
isolated Make flutter_tools use newest package:{native_assets_builder,native_assets_cli,native_toolchain_c} (#158214) 2024-11-06 14:12:34 +01:00
test_data Stop reading .packages from flutter_tools. (#154912) 2024-09-13 13:53:05 +02:00
analyze_all_templates_test.dart
analyze_once_test.dart Roll Flutter Engine from c58d87d62c20 to 31bb9f98472a (8 revisions) (#152555) 2024-07-30 16:42:10 +00:00
analyze_size_test.dart
analyze_suggestions_integration_test.dart Remove unused PubDependenciesProjectValidator. (#157516) 2024-10-24 22:05:50 +00:00
android_e2e_api_test.dart
android_gradle_daemon_cache_test.dart
android_gradle_deprecated_plugin_apply_test.dart Reland "Update template/test compileSdk, targetSdk, ndk versions" (#153795) 2024-08-21 18:27:00 +00:00
android_gradle_flutter_source_path_test.dart
android_gradle_java_version_test.dart
android_gradle_outputs_app_link_settings_test.dart Update the gradle task to add fallback scheme and host if needed when retrieving deep links. (#146470) 2024-04-11 14:24:51 -07:00
android_gradle_print_build_variants_test.dart
android_plugin_compilesdkversion_mismatch_test.dart Use Gradle KTS in new Android app projects by default (2nd try) (#157195) 2024-10-22 17:28:31 +00:00
android_plugin_example_app_build_test.dart Use Gradle KTS in new Android app projects by default (2nd try) (#157195) 2024-10-22 17:28:31 +00:00
android_plugin_ndkversion_mismatch_test.dart Use Gradle KTS in new Android app projects by default (2nd try) (#157195) 2024-10-22 17:28:31 +00:00
android_plugin_new_output_dir_test.dart Change android_plugin_new_output_dir_test.dart test description (#149198) 2024-05-28 23:04:10 +00:00
android_plugin_skip_unsupported_test.dart
asset_transformation_test.dart Add integration test for asset transformation feature (#145715) 2024-04-26 21:42:06 +00:00
background_isolate_test.dart
bash_entrypoint_test.dart
batch_entrypoint_test.dart
break_on_framework_exceptions_test.dart Fix and remove a few no-shuffle tags in flutter_tools. (#157656) 2024-10-29 19:01:54 +00:00
build_ios_config_only_test.dart
build_macos_config_only_test.dart
build_preview_test.dart
cache_test.dart
command_output_test.dart Roll pub packages (#156925) 2024-10-18 20:17:18 +00:00
coverage_collection_test.dart
daemon_mode_test.dart
debugger_stepping_test.dart
deferred_components_test.dart
deprecated_gradle_settings_test.dart
devtools_uri_test.dart
downgrade_upgrade_integration_test.dart
exit_code_test.dart
expression_evaluation_test.dart Unskip expression evaluation test (#149253) 2024-05-29 23:24:36 +01:00
flutter_attach_test.dart Remove observatory related TODO that is already fixed. (#158205) 2024-11-05 23:43:50 +00:00
flutter_build_android_app_project_builddir_test.dart
flutter_build_apk_verbose_test.dart Update integration tests regexes. (#144847) 2024-03-12 01:31:25 +00:00
flutter_build_config_only_test.dart
flutter_build_wasm_test.dart [flutter_tools] Enable WebAssembly compilation everywhere, remove feature flag (#145562) 2024-03-26 18:23:49 +00:00
flutter_build_windows_test.dart
flutter_build_with_compilation_error_test.dart Change flutter_build_with_compilation_error_test to check stdout or stderr (#152404) 2024-07-26 23:12:14 +00:00
flutter_gen_test.dart
flutter_run_test.dart
flutter_run_with_error_test.dart
forbidden_imports_test.dart
gen_l10n_test.dart
gradle_non_android_plugin_test.dart
hot_reload_errors_test.dart
hot_reload_test.dart Do not cancel the VmService's subscription to the isolate event stream in FlutterVmService.findExtensionIsolate (#153607) 2024-08-19 17:40:07 +00:00
hot_reload_with_asset_test.dart
lifetime_test.dart
observatory_port_test.dart
overall_experience_test.dart [Reland] Introduce double Flex.spacing parameter for Row/Column spacing (#152890) 2024-08-05 23:04:50 +00:00
plist_parser_test.dart Add Swift Package Manager as new opt-in feature for iOS and macOS (#146256) 2024-04-18 21:12:36 +00:00
README.md Added missing code block language in docs (#147481) 2024-05-01 14:44:27 +00:00
shader_compiler_test.dart
stateless_stateful_hot_reload_test.dart
swift_package_manager_create_app_test.dart Add create app and plugin templates for Swift Package Manager (#147082) 2024-04-24 22:46:20 +00:00
swift_package_manager_create_plugin_test.dart Add create app and plugin templates for Swift Package Manager (#147082) 2024-04-24 22:46:20 +00:00
swift_package_manager_test.dart Make SwiftPM integration tests even MORE idiomatic (#158014) 2024-11-01 20:00:04 +00:00
swift_package_manager_utils.dart [Swift Package Manager] Test removing the last Flutter plugin (#153519) 2024-08-16 14:03:13 +00:00
template_manifest_test.dart
test_driver.dart pattern-matching refactor (#154753) 2024-10-03 18:21:04 +00:00
test_test.dart Fix and remove a few no-shuffle tags in flutter_tools. (#157656) 2024-10-29 19:01:54 +00:00
test_utils.dart Stop reading .packages from flutter_tools. (#154912) 2024-09-13 13:53:05 +02:00
timeline_test.dart
tool_backend_test.dart
transition_test_utils.dart Implementing switch expressions in flutter_tools/ (#145632) 2024-03-29 22:31:19 +00:00
unit_coverage_test.dart
variable_expansion_windows_test.dart
variable_expansion_windows.dart
vmservice_integration_test.dart add verbose logging to select hot reload/hot restart tests (#147673) 2024-05-02 04:03:32 +00:00
web_plugin_registrant_test.dart
xcode_backend_test.dart

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.