Commit Graph

26 Commits

Author SHA1 Message Date
Chris Bracken
45702a26ca
[iOS] Add platform view to integration_test example (#164144)
Adds a platform view that simply renders a blue square to the
integration_test
example, and updates the screenshot capture code to capture all windows,
ensuring that any native picture-in-picture, split views, etc. are
catpured.

Adds a screenshot test that captures the platform view alongside the
existing
test. Improved API for screenshot capture will land in a followup patch.

Fixes: https://github.com/flutter/flutter/issues/164129
Issue: https://github.com/flutter/flutter/issues/51890

## 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.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[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
2025-02-26 02:40:07 +00:00
Matan Lurey
4ff2deafd4
Enable goldenFileComparator fix for on-device integration tests. (#163157)
Closes https://github.com/flutter/flutter/issues/143299.
Closes https://github.com/flutter/flutter/issues/160043.

A website update is work-in-progress here to add more context for users:
<https://github.com/flutter/website/pull/11716>.
2025-02-13 16:43:05 +00:00
Matan Lurey
4cd0e33013
Implement golden-file matching for integration_test on Android and iOS devices (#160484)
Work towards https://github.com/flutter/flutter/issues/143299.
Work towards https://github.com/flutter/flutter/issues/160043.

---

This PR implements, end-to-end, support for `matchesGoldenFile` when (a)
running with `package:integration_test` (b) on a device, such as an
Android emulator, Android device, iOS simulator, or iOS device, where
the _runner_ of a test file does not have process and local-file system
access.

There are multiple parts to this PR; I could make it smaller than 1K
lines, but the bulk of that is tests, and it would mean landing PRs that
are incomplete and unused, which does not seem useful - so instead here
is a quick overview of the PR's contents - questions/feedback welcome,
and I am willing to break code out or land incremental refactors if
requested.

1. Augmented `flutter_platform.dart` (used for iOS and Android), similar
to
[`flutter_web_platform.dart`](1398dc7eec/packages/flutter_tools/lib/src/test/flutter_web_platform.dart (L117-L128)),
now creates and uses
[`test_golden_comparator.dart`](https://github.com/flutter/flutter/blob/master/packages/flutter_tools/lib/src/test/test_golden_comparator.dart)
to proxy calls (coming from the VM service protocol) for golden-file
updates and comparisons to a `flutter_tester` process. A full
explanation of how (or why) it works this way is too hard to include
here, but see https://github.com/flutter/flutter/pull/160215 for more
details.
1. Added `VmServiceProxyGoldenFileComparator`, which is a currently
unused (outside of a single e2e test) comparator that forwards calls to
`compare` and `update` to the VM service protocol (of which, the other
side of this is implemented above, in `flutter_platform.dart`. The idea
is that this comparator would be used automatically when running in an
integration test on a device that requires it (similar to how web works
today), but that is **not** wired up yet and requires additional work in
`flutter_tools`.
1. Added two unit tests (of both the client and server), and a full
e2e-test using it to run `matchesGoldenFile`.
2024-12-28 19:48:20 +00:00
Michael Goderbauer
5491c8c146
Auto-format Framework (#160545)
This auto-formats all *.dart files in the repository outside of the
`engine` subdirectory and enforces that these files stay formatted with
a presubmit check.

**Reviewers:** Please carefully review all the commits except for the
one titled "formatted". The "formatted" commit was auto-generated by
running `dev/tools/format.sh -a -f`. The other commits were hand-crafted
to prepare the repo for the formatting change. I recommend reviewing the
commits one-by-one via the "Commits" tab and avoiding Github's "Files
changed" tab as it will likely slow down your browser because of the
size of this PR.

---------

Co-authored-by: Kate Lovett <katelovett@google.com>
Co-authored-by: LongCatIsLooong <31859944+LongCatIsLooong@users.noreply.github.com>
2024-12-19 20:06:21 +00:00
Jackson Gardner
31209d04ff
flutter test --wasm support (#145347)
* Adds support for `flutter test --wasm`.
  * The test compilation flow is a bit different now, so that it supports compilers other than DDC. Specifically, when we run a set of unit tests, we generate a "switchboard" main function that imports each unit test and runs the main function for a specific one based off of a value set by the JS bootstrapping code. This way, there is one compile step and the same compile output is invoked for each unit test file.
* Also, removes all references to `dart:html` from flutter/flutter.
* Adds CI steps for running the framework unit tests with dart2wasm+skwasm
  * These steps are marked as `bringup: true`, so we don't know what kind of failures they will result in. Any failures they have will not block the tree at all yet while we're still in `bringup: true`. Once this PR is merged, I plan on looking at any failures and either fixing them or disabling them so we can get these CI steps running on presubmit.

This fixes https://github.com/flutter/flutter/issues/126692
2024-03-21 20:08:07 +00:00
Kenzie Davisson
725c1415df
Fix screenshot testing for flutter web integration_test (#117114)
* Fix screenshot testing for flutter web integration_test

* update packages

* fix method signature and todo

* Run tests on CI

* fix type

* remove silences

* Add docs

* fix comment

* fix whitespace

* review comments
2022-12-22 21:34:04 +00:00
Ian Hickson
ab89ce285f
Clean up the bindings APIs. (#89451) 2022-02-03 14:55:15 -08:00
Jenn Magder
88327e3b72
Dynamically add integration_tests and screenshots to native iOS test results (#95704) 2022-01-14 12:05:15 -08:00
Zachary Anderson
463f9739f7
Revert "Refactor iOS integration_test API to support Swift, dynamically add native tests (#88013)" (#88377)
This reverts commit 9e3de9a328.
2021-08-17 14:54:14 -07:00
Jenn Magder
9e3de9a328
Refactor iOS integration_test API to support Swift, dynamically add native tests (#88013) 2021-08-17 11:42:05 -07:00
Emmanuel Garcia
0504fac7e2
Android e2e screenshot (#84472) 2021-07-20 13:36:04 -07:00
Ren You
3dea9f0251
Revert "Clean up the bindings APIs (#86438)" (#86484)
This reverts commit d056500bfe.
2021-07-15 09:29:16 -07:00
Ian Hickson
d056500bfe
Clean up the bindings APIs (#86438) 2021-07-14 14:41:24 -07:00
Zachary Anderson
7f741e9181
Revert "Clean up the bindings APIs (#86388)" (#86404)
This reverts commit 31de052e3f.
2021-07-13 21:32:29 -07:00
Ian Hickson
31de052e3f
Clean up the bindings APIs (#86388) 2021-07-13 18:31:11 -07:00
Ian Hickson
c800b9c3e4
Revert "Clean up the bindings APIs (#83843)" (#86386)
This reverts commit e2490f2906.
2021-07-13 15:47:40 -07:00
Ian Hickson
e2490f2906
Clean up the bindings APIs (#83843) 2021-07-13 12:41:03 -07:00
Alexandre Ardhuin
80990c21e2
code formatting (#85783) 2021-07-07 23:06:05 -07:00
Dan Field
d3092541e2
Reland integration_test NNBD (#75074)
* Revert "Revert "NNBD integration_test (#74922)" (#75030)"

This reverts commit 87b043658b.

* fix bad merge issues
2021-02-01 10:19:14 -08:00
Ian Hickson
87b043658b
Revert "NNBD integration_test (#74922)" (#75030)
This reverts commit cca9592f0e.
2021-01-29 15:46:21 -08:00
Dan Field
cca9592f0e
NNBD integration_test (#74922) 2021-01-29 14:31:06 -08:00
Dan Field
3de9342ffa
No test core (#74065)
* Revert "[integration_test] Fix incorrect logging for the legacy reporter (#72699)"

This reverts commit 57e134058f.

* Revert reporter
2021-01-15 20:05:10 -08:00
Jia Hao
87746c7674
[integration_test] Reland add a run method for proper reporting of test results (#70513)
* [integration_test] Reland add a `run` method for proper reporting of test results

* Changes to path resolving from previous PR
2020-11-13 19:39:05 -08:00
Jonah Williams
ed977dd6a4
Revert "[integration_test] Add a run method for proper reporting of test results (#70075)" (#70466)
This reverts commit af5eb3b987.
2020-11-13 09:01:09 -08:00
Jia Hao
af5eb3b987
[integration_test] Add a run method for proper reporting of test results (#70075) 2020-11-13 19:57:15 +08:00
Dan Field
76784651d4
Move package:integration_test to flutter/flutter (#69622) 2020-11-05 17:28:47 -08:00