flutter/dev/integration_tests
Reid Baker f20bc39cc0
Add kotlin compatability to build file validation (#167143)
Fixes https://github.com/flutter/flutter/issues/161443 

* adds a new gradle task like `javaVersion` named `kgpVersion` that
prints the version of kgp.
* adds gradle_utils.dart method for getting kgp version
* * kgp method is moved to utilities and we attempt to use a plugin
method before reflection.
* adds methods or  evaluating KGP + gradle and KGP + AGP compatibility. 
* * It turns out that we have been using incompatible versions that
happen to work with the subset of kotlin we are using.
* Uses new kgp methods in flutter analyze --suggestions as part of the
existing agp/java/gradle compatibility matrix.
* adds new tests for all new functionality
* Adds comments to sections of the code I found could use them. 
* Modifies flutter gallery to use a compatible version of kotlin and
update its lockfiles.


## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [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.
- [x] 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].
- [x] I followed the [breaking change policy] and added [Data Driven
Fixes] where supported.
- [x] All existing and new tests are passing.
2025-04-18 16:32:08 +00:00
..
android_engine_test [ Widget Preview ] Add support for theme and brightness properties on Preview (#167001) 2025-04-15 17:51:40 +00:00
android_module_host_with_custom_build_v2_embedding/app/src/main/java/io/flutter/addtoapp Fix package declarations for add-to-app integration tests (#77648) 2021-03-30 14:19:02 -07:00
android_semantics_testing [ Widget Preview ] Add support for theme and brightness properties on Preview (#167001) 2025-04-15 17:51:40 +00:00
android_views [ Widget Preview ] Add support for theme and brightness properties on Preview (#167001) 2025-04-15 17:51:40 +00:00
channels Reapply "[ Device Lab ] Upgrade Device Lab projects to Java 18" (#166016) (#166059) 2025-03-27 15:07:22 +00:00
deferred_components_test [ Widget Preview ] Add support for theme and brightness properties on Preview (#167001) 2025-04-15 17:51:40 +00:00
display_cutout_rotation Convert AppLinkSettings to kotlin (#164391) 2025-03-11 17:00:17 +00:00
external_textures [ Widget Preview ] Add support for theme and brightness properties on Preview (#167001) 2025-04-15 17:51:40 +00:00
flavors [ Widget Preview ] Add support for theme and brightness properties on Preview (#167001) 2025-04-15 17:51:40 +00:00
flutter_gallery Add kotlin compatability to build file validation (#167143) 2025-04-18 16:32:08 +00:00
hook_user_defines [native assets] Roll dependencies (#167287) 2025-04-16 19:10:40 +00:00
ios_add2app_life_cycle [iOS/macOS] Add Xcode error if dev dependencies are incorrect (#165916) 2025-04-11 19:34:38 +00:00
ios_app_with_extensions Roll pub packages (#163083) 2025-02-11 23:47:59 +00:00
ios_host_app Revert "Add set semantics enabled API and wire iOS a11y bridge (#1612… (#165901) 2025-03-25 18:24:46 +00:00
ios_host_app_swift [iOS] Migrate @UIApplicationMain attribute to @main (#146707) 2024-04-16 22:13:03 +00:00
ios_platform_view_tests [ Widget Preview ] Add support for theme and brightness properties on Preview (#167001) 2025-04-15 17:51:40 +00:00
link_hook [native assets] Roll dependencies (#167287) 2025-04-16 19:10:40 +00:00
module_host_with_custom_build/.gradle
module_host_with_custom_build_v2_embedding Reapply "[ Device Lab ] Upgrade Device Lab projects to Java 18" (#166016) (#166059) 2025-03-27 15:07:22 +00:00
new_gallery [ Widget Preview ] Add support for theme and brightness properties on Preview (#167001) 2025-04-15 17:51:40 +00:00
platform_interaction [ Widget Preview ] Add support for theme and brightness properties on Preview (#167001) 2025-04-15 17:51:40 +00:00
pure_android_host_apps Fix build_android_host_app_with_module_source device lab tests (#166077) 2025-03-27 17:42:48 +00:00
release_smoke_test Reapply "[ Device Lab ] Upgrade Device Lab projects to Java 18" (#166016) (#166059) 2025-03-27 15:07:22 +00:00
spell_check Reapply "[ Device Lab ] Upgrade Device Lab projects to Java 18" (#166016) (#166059) 2025-03-27 15:07:22 +00:00
ui [ Widget Preview ] Add support for theme and brightness properties on Preview (#167001) 2025-04-15 17:51:40 +00:00
web Remove <meta content="IE=Edge" http-equiv="X-UA-Compatible"> (#166252) 2025-03-31 16:03:56 +00:00
web_compile_tests Bump characters, collection, meta (#161066) 2025-01-03 02:23:10 +00:00
web_e2e_tests [ Widget Preview ] Add support for theme and brightness properties on Preview (#167001) 2025-04-15 17:51:40 +00:00
wide_gamut_test Roll pub packages (#163083) 2025-02-11 23:47:59 +00:00
windows_startup_test [ Widget Preview ] Add support for theme and brightness properties on Preview (#167001) 2025-04-15 17:51:40 +00:00
README.md Warn that integration tests are not run automatically (#162626) 2025-02-03 22:36:41 +00:00

Automated Flutter integration test suites

Each suite consists of either a complete Flutter app and a flutter_driver specification that drives tests from the UI, or a native app that is meant to integrate with Flutter for testing.

Intended for use with devicelab tests.

If you want to run a driver test locally, to debug a problem with a test, you can use this command from the appropriate subdirectory:

flutter drive -t <test> --driver <driver>

For example:

flutter drive -t lib/keyboard_resize.dart --driver test_driver/keyboard_resize_test.dart

New tests require new CI runner

Adding code to this directory will not automatically cause it to be run by any already existing ci tooling. This directory is intentinally a "choose your own adventure" piece of tooling.