Matan Lurey
adc86fe60b
Fix usage of --out-dir with a relative path. ( flutter/engine#50992 )
...
@dnfield:
> it looks like the new dart script doesn't necessarily work well with
relative directories for the out dir
2024-02-26 18:35:28 -08:00
auto-submit[bot]
63614f6be8
Reverts "Migrate Android scenario_app to the SurfaceProducer API ( #50993 )" ( flutter/engine#50995 )
...
Reverts flutter/engine#50993
Initiated by: matanlurey
Reason for reverting: The digests will come back negative, as this change shows bugs in the `ImageTexture` implementation.
Original PR Author: matanlurey
Reviewed By: {jonahwilliams, johnmccutchan}
This change reverts the following previous change:
Original Description:
Part of testing https://github.com/flutter/flutter/issues/139702 .
Without this PR, the Impeller + Vulkan Scenario App will draw nothing/potentially crash, because there is no way to draw the (current) `SurfaceTexture`-based textures in Vulkan (and never will be).
This change does the following:
- Skia -> Nothing
- Impeller + OpenGLES -> On newer Android devices, uses `ImageReader` instead
- Impeller + Vulkan -> Always uses `ImageReader`
See also: https://api.flutter.dev/javadoc/io/flutter/view/TextureRegistry.SurfaceProducer.html .
2024-02-27 01:49:26 +00:00
Matan Lurey
5b9bb4bacf
Migrate Android scenario_app to the SurfaceProducer API ( flutter/engine#50993 )
...
Part of testing https://github.com/flutter/flutter/issues/139702 .
Without this PR, the Impeller + Vulkan Scenario App will draw nothing/potentially crash, because there is no way to draw the (current) `SurfaceTexture`-based textures in Vulkan (and never will be).
This change does the following:
- Skia -> Nothing
- Impeller + OpenGLES -> On newer Android devices, uses `ImageReader` instead
- Impeller + Vulkan -> Always uses `ImageReader`
See also: https://api.flutter.dev/javadoc/io/flutter/view/TextureRegistry.SurfaceProducer.html .
2024-02-27 01:39:23 +00:00
Tong Mu
c139338825
Revert "Reland 4: Multiview pipeline ( #50931 )" ( flutter/engine#50985 )
...
This reverts commit cb110ebc948c362cec5ac921cf8ef5e9ca530102.
Reason: Internal test failure blocking roll
OCL:610420483:BASE:610486571:1708978396098:f2c3c31
[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-02-27 00:58:22 +00:00
Matan Lurey
71f9dec343
Refactor args parsing/environment constructor for scenario_app ( flutter/engine#50980 )
...
This moves the ever-growing amount of options and defaults into it's own
class(es).
The test runner itself has no tests (yet), but this shim will make
writing tests easier. I tried to make no other real changes to how the
runner functions in this PR.
2024-02-26 15:29:32 -08:00
Jonah Williams
9eca58ab36
[scenario] trigger firstFrameLatch on exception. ( flutter/engine#50981 )
...
If we hit this exception (which we seem to do a lot), then we weren't triggering the first frame latch.
2024-02-26 23:03:31 +00:00
Zachary Anderson
cae1c8dc3a
Run engine unit tests on mac host_debug_unopt_arm64 ( flutter/engine#50327 )
...
Related https://github.com/flutter/flutter/issues/142868
2024-02-26 13:39:05 -08:00
Matan Lurey
dec92d85f2
Better filtering for Android scenario_app runner. ( flutter/engine#50937 )
...
_🍴 'd from https://github.com/flutter/engine/pull/50933 , will rebase
when merged._
Closes https://github.com/flutter/flutter/issues/143458 .
A picture is a 1000 words:

This is still noisy, but at least all the output appears to be part of
the execution.
As you recall, the full logs are always available in the
FLUTTER_LOGS_DIR output.
2024-02-26 11:36:10 -08:00
Tong Mu
cb110ebc94
Reland 4: Multiview pipeline ( flutter/engine#50931 )
...
This relands https://github.com/flutter/engine/pull/49950 .
Nothing is changed. The error turns out a flake (it passes once),
although this PR might have made the flake more flaky.
## Pre-launch Checklist
- [ ] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [ ] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [ ] I read and followed the [Flutter Style Guide] and the [C++,
Objective-C, Java style guides].
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [ ] I added new tests to check the change I am making or feature I am
adding, or the PR is [test-exempt]. See [testing the engine] for
instructions on writing and running engine tests.
- [ ] I updated/added relevant documentation (doc comments with `///`).
- [ ] I signed the [CLA].
- [ ] 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/wiki/Tree-hygiene#overview
[Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene
[test-exempt]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo
[C++, Objective-C, Java style guides]:
https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
[testing the engine]:
https://github.com/flutter/flutter/wiki/Testing-the-engine
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes
[Discord]: https://github.com/flutter/flutter/wiki/Chat
2024-02-23 20:52:53 -08:00
Matan Lurey
2db47e5a50
Actually list all sources for scenario_app target. ( flutter/engine#50933 )
...
Without this the GN cache can easily become invalid if nothing else
changed.
2024-02-23 20:27:01 -08:00
Dan Field
54689ee475
Avoiding using separate FlutterLoaders in scenario_app ( flutter/engine#50927 )
...
Fixes https://github.com/flutter/flutter/issues/144046
When we use the same FlutterLoader from the injector, the initialization method knows it doesn't have to do as much work - using separate Flutter loaders (in this case for every test that derives from TestActivity, which is basically all of them) causes spurious warning messages to be printed for every test.
2024-02-23 23:46:19 +00:00
Matan Lurey
5ff7a8bc99
Refactor Android scenario_app to remove shell entrypoint, simplify. ( flutter/engine#50922 )
...
Closes https://github.com/flutter/flutter/issues/144045 .
There is still more work I want to do, like pulling args parsing into it's own class, and potentially cleanup the [golden file collection](https://github.com/flutter/flutter/issues/144047 ), but those seem reasonable for future (lower priority) PRs.
2024-02-23 23:34:05 +00:00
auto-submit[bot]
c388fc8bf0
Reverts "Reland 3: Multiview pipeline ( #49950 )" ( flutter/engine#50929 )
...
Reverts flutter/engine#49950
Initiated by: dkwingsmt
Reason for reverting: Head redness
```
java.lang.RuntimeException: Timeout waiting for firstFrameLatch to signal
at dev.flutter.scenarios.ExternalTextureFlutterActivity.waitUntilFlutterRendered(ExternalTextureFlutterActivity.java:98)
at dev.flutter.scenariosui.ScreenshotUtil.capture(ScreenshotUtil.java:122)
```
Original PR Author: dkwingsmt
Reviewed By: {loic-sharma}
This change reverts the following previous change:
Original Description:
This is the 3rd attempt to land multiview pipeline, following
https://github.com/flutter/engine/pull/47239 .
The pipeline now properly implements the required logic for
`scheduleWarmUpFrame` to work in a multi-view setup, following the
preparation in https://github.com/flutter/flutter/pull/143290 and
https://github.com/flutter/engine/pull/50570 .
## Pre-launch Checklist
- [ ] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [ ] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [ ] I read and followed the [Flutter Style Guide] and the [C++,
Objective-C, Java style guides].
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [ ] I added new tests to check the change I am making or feature I am
adding, or the PR is [test-exempt]. See [testing the engine] for
instructions on writing and running engine tests.
- [ ] I updated/added relevant documentation (doc comments with `///`).
- [ ] I signed the [CLA].
- [ ] 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/wiki/Tree-hygiene#overview
[Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene
[test-exempt]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo
[C++, Objective-C, Java style guides]:
https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
[testing the engine]:
https://github.com/flutter/flutter/wiki/Testing-the-engine
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes
[Discord]: https://github.com/flutter/flutter/wiki/Chat
Co-authored-by: auto-submit[bot] <flutter-engprod-team@google.com>
2024-02-23 15:15:00 -08:00
Dan Field
7fd214252c
Remove timeouts from CountdownLatch.await in tests ( flutter/engine#50930 )
...
See
https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo#never-check-if-a-port-is-available-before-using-it-never-add-timeouts-and-other-race-conditions
This may be contributing to flakiness in the Java/Scenario_app tests. We
should just timeout when CI says it's taken too long - on a slow machine
5 or 10 seconds may not be enough time.
2024-02-23 15:10:16 -08:00
Tong Mu
dd271d0880
Reland 3: Multiview pipeline ( flutter/engine#49950 )
...
This is the 3rd attempt to land multiview pipeline, following
https://github.com/flutter/engine/pull/47239 .
The pipeline now properly implements the required logic for
`scheduleWarmUpFrame` to work in a multi-view setup, following the
preparation in https://github.com/flutter/flutter/pull/143290 and
https://github.com/flutter/engine/pull/50570 .
## Pre-launch Checklist
- [ ] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [ ] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [ ] I read and followed the [Flutter Style Guide] and the [C++,
Objective-C, Java style guides].
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [ ] I added new tests to check the change I am making or feature I am
adding, or the PR is [test-exempt]. See [testing the engine] for
instructions on writing and running engine tests.
- [ ] I updated/added relevant documentation (doc comments with `///`).
- [ ] I signed the [CLA].
- [ ] 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/wiki/Tree-hygiene#overview
[Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene
[test-exempt]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo
[C++, Objective-C, Java style guides]:
https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
[testing the engine]:
https://github.com/flutter/flutter/wiki/Testing-the-engine
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes
[Discord]: https://github.com/flutter/flutter/wiki/Chat
2024-02-23 13:39:54 -08:00
Matan Lurey
4405a2fb57
Provide a subset of adb logcat logs streaming during scenario_app testing ( flutter/engine#50886 )
...
Work towards https://github.com/flutter/flutter/issues/143458 .
What this _doesn't_ change:
1. The full output of `adb logcat` is still written to `$FLUTTER_LOGS_DIR/logcat.txt`
Example output:
<img width="580" alt="Screenshot 2024-02-22 at 2 53 51â¯PM" src="https://github.com/flutter/engine/assets/168174/bef24370-c066-4203-ae0e-552cc0fd73ad ">
/cc @dnfield @gaaclarke
2024-02-23 03:36:16 +00:00
Dan Field
8f527095b7
Avoid generated plugin registrant warnings for scenario_app ( flutter/engine#50874 )
...
Cleans up some noise in those logs.
2024-02-22 20:34:11 +00:00
Victoria Ashworth
d6735132e4
Delete and create iOS simulator before running Scenario app test ( flutter/engine#50835 )
...
Make iOS Scenario app tests create the simulator it needs before the tests. Also, delete any existing matching simulators to prevent duplicates.
Fixes https://github.com/flutter/flutter/issues/143870 .
[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-02-22 20:17:22 +00:00
Matan Lurey
0eceae9710
Minor non-semantic refactors of ExternalTexturesFlutterActivity ( flutter/engine#50845 )
...
Just getting rid of some IDE warnings/diagnostics before sending bigger
PRs.
2024-02-21 19:06:16 -08:00
Tong Mu
c5e0858a01
Add scheduleWarmUpFrame ( flutter/engine#50570 )
...
This PR adds `PlatformDispatcher.scheduleWarmUpFrame`.
This PR is needed for the follow up changes:
* The framework will switch to using this function to render warmup
frames in https://github.com/flutter/flutter/pull/143290 .
* Then the engine will finally be able to switch to multiview pipeline
with no regression on startup timing in
https://github.com/flutter/engine/pull/49950 .
For why the warm up frame must involve the engine to render, see
https://github.com/flutter/flutter/issues/142851 .
## Pre-launch Checklist
- [ ] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [ ] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [ ] I read and followed the [Flutter Style Guide] and the [C++,
Objective-C, Java style guides].
- [ ] I listed at least one issue that this PR fixes in the description
above.
- [ ] I added new tests to check the change I am making or feature I am
adding, or the PR is [test-exempt]. See [testing the engine] for
instructions on writing and running engine tests.
- [ ] I updated/added relevant documentation (doc comments with `///`).
- [ ] I signed the [CLA].
- [ ] 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/wiki/Tree-hygiene#overview
[Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene
[test-exempt]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo
[C++, Objective-C, Java style guides]:
https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
[testing the engine]:
https://github.com/flutter/flutter/wiki/Testing-the-engine
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes
[Discord]: https://github.com/flutter/flutter/wiki/Chat
2024-02-21 16:46:11 -08:00
Matan Lurey
b357d7a45e
Remove/reduce unused or private methods and add tests to SkiaGoldClient ( flutter/engine#50844 )
...
@Piinks correctly pointed out we had to make a number of changes to the engine's `SkiaGoldClient` and we had no test coverage (https://github.com/flutter/engine/pull/50829 , https://github.com/flutter/engine/pull/50826 ).
This corrects the problem.
I am not in _love_ with these tests (they could be less snapshot-y), but the mechanisms I need to write better tests is beyond what I can spend ~1-2 hours on (https://github.com/flutter/flutter/issues/133569 ).
/cc @dnfield @mdebbar
2024-02-22 00:16:57 +00:00
Zachary Anderson
e6d9dca1b7
Shift some deps to //flutter/third_party ( flutter/engine#50830 )
...
Part of https://github.com/flutter/flutter/issues/67373
2024-02-21 23:51:16 +00:00
Matan Lurey
a890ef28e6
Add a throw statement for imgtestAdd non 0 exit codes. ( flutter/engine#50829 )
...
Thanks @Piinks for noticing.
2024-02-21 11:51:02 -08:00
Matan Lurey
9cb7bf430b
Add the scenario_app 'solid_blue' golden to the Android test suite ( flutter/engine#50801 )
...
This test is already running in the iOS scenario app:

It should help debug https://github.com/flutter/flutter/issues/143602 by showing if the Android UI is bleeding.
2024-02-21 19:21:53 +00:00
Matan Lurey
05fedd7c11
Ignore EOF newline characters and added tests to dir_contents_diff tool ( flutter/engine#50805 )
...
No issue filed, but was [discussed on discord](https://discord.com/channels/608014603317936148/608021010377080866/1209568840644567091 ).
2024-02-21 19:05:26 +00:00
Matan Lurey
9a26927508
Fail engine post-submit on skia-gold comparions. ( flutter/engine#50826 )
...
Similar to the framework in https://github.com/flutter/flutter/pull/100576 .
Closes https://github.com/flutter/flutter/issues/143617 .
2024-02-21 18:34:04 +00:00
Zachary Anderson
f6629ffe5c
Use 'et format' in CI. Check formatting of all files in CI ( flutter/engine#50810 )
...
This PR changes the format check on CI to use the command added in
https://github.com/flutter/engine/pull/50747 .
Additionally, while making this change, I noticed that the CI check was
not checking the formatting of all files, and that as a result, files
were present in the repo with incorrect formatting. I have fixed the
formatting and fixed the check to always check all files.
2024-02-21 09:38:08 -08:00
zijiehe@
914efefa87
[Fuchsia] Create dedicated testers to run tests and deprecate femu_test ( flutter/engine#50697 )
...
This change creates a fuchsia_profile_arm64_tester builder inside of the existing linux_fuchsia group. Comparing with fuchsia_profile_arm64, it uses `--no-lto` to limit the cost of compilation of test suites.
Similar to the fuchsia_profile_x64, it runs release build test cases + aot test.
E.g. https://ci.chromium.org/ui/p/flutter/builders/try/Linux%20Engine%20Drone/1998852/overview or more accurately https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket/8755990392554423809/+/u/test:_arm64_emulator_based_profile___aot_tests/stdout .
The same approach also applied to other builders. Now each fuchsia builder has its own tester which compiles test cases without lto. The change reduces the time cost of linux_fuchsia to around 20 min, e.g. https://ci.chromium.org/ui/p/flutter/builders/try/Linux%20linux_fuchsia/6662/overview
After this change, linux_fuchsia group has a higher coverage than the combination of linux fuchsia emu + linux fuchsia emu arm64. So I removed both builders from the `.ci.yaml` as well.
Bug: https://github.com/flutter/flutter/issues/140179
[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-02-20 18:39:09 +00:00
Matan Lurey
cfac6a5d5f
Write adb logcat results and screenshots to FLUTTER_LOGS_DIR if able. ( flutter/engine#50722 )
...
Fixes https://github.com/flutter/flutter/issues/143586 .
This should make it easier to understand what is/isn't happening, and will unblock https://github.com/flutter/flutter/issues/143458 , and make https://github.com/flutter/flutter/issues/143459 potentially easier to debug.
2024-02-18 20:31:28 +00:00
gaaclarke
8515af7ee9
Pulled out dir contents golden tool ( flutter/engine#50703 )
...
fixes https://github.com/flutter/flutter/issues/143459
This also starts using it as part of scenario_app.
Testing: Is part of the testing infrastructure.
[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-02-16 22:18:05 +00:00
Jason Simmons
ea6b80144d
Add the web package to the set of Dart third_party packages in DEPS ( flutter/engine#50714 )
...
Dart is rolling the http package to a version that depends on the web package. (see https://dart.googlesource.com/http/+/d8b237d273f49bada2aa7feaa0e7795e2541fe83 )
2024-02-16 06:54:49 +00:00
Matan Lurey
d99aee7142
Update README.md ( flutter/engine#50702 )
...
Oopsie.
2024-02-15 15:38:20 -08:00
zijiehe@
4c418e9452
[Fuchsia] Run arm64 tests on terminal.qemu-arm64 on x64 hosts ( flutter/engine#50657 )
...
This change replicas https://ci.chromium.org/ui/p/flutter/builders/prod/Linux%20Fuchsia%20arm64%20FEMU and runs tests on simulated arm64 on x64. E.g. https://ci.chromium.org/ui/p/flutter/builders/try/Linux%20Engine%20Drone/1994921/overview
or more accurately, https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket/8756061244290412945/+/u/test:_arm64_emulator_based_debug_tests/stdout
The vulkan tests are excluded, qemu does not support vulkan.
The display_list_render_tests is excluded as it's way too slow (over 400 seconds).
After this change, comparing to femu_test.py, the only missing case is the dart-aot-runner-integration-test which is executed in fuchsia_profile_x64 anyway. It needs `--no-lto` in fuchsia_profile_arm64. I may need to confirm if the fuchsia_profile_arm64 build is used in fuchsia or the fuchsia_release_arm64.
Bug: https://github.com/flutter/flutter/issues/140179
[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-02-15 20:22:23 +00:00
Chinmay Garde
6c17d7bf9d
Use a GN variable (dart_src) to reference the location of the Dart checkout. ( flutter/engine#50624 )
...
Towards https://github.com/flutter/flutter/issues/143335
2024-02-14 21:12:23 -08:00
Matan Lurey
95e8704f1a
Add a &right_filter=params to the Skia Gold links. ( flutter/engine#50675 )
...
Otherwise they are compared against other API versions and backends by default, which is confusing.
2024-02-15 02:31:13 +00:00
Matan Lurey
46d8d6660c
Use modern concurrency constructs. ( flutter/engine#50671 )
...
The old code made me cry.
Potentially related to https://github.com/flutter/flutter/issues/143471 .
2024-02-14 17:51:30 -08:00
Matan Lurey
a499590726
Add useful default options to scenario_app/bin/android_integration_tests.dart ( flutter/engine#50667 )
...
Closes https://github.com/flutter/flutter/issues/143474 .
This makes `--adb` and `--out_dir` have useful defaults for most
environments.
To be explicit, the `--out-dir` is still specified in the test runner (I
could imagine refactoring this further to take a `--variant` instead,
but not a priority).
/cc @gmackall
2024-02-14 15:26:51 -08:00
zijiehe@
52b63c363d
[Fuchsia] Run run_with_dart_aot test on fuchsia_profile_x64 ( flutter/engine#50613 )
...
This change starts running dart aot tests on fuchsia_profile_x64 builder which were previously ignored. But it also requires to build `profile` with `--no-lto`.
Since running tests are in general quite fast, this change does not exclude other test suites from fuchsia_profile_x64.
After this change, linux_fuchsia has higher coverage than the femu_test, later one can be removed.
But I may prefer submitting https://github.com/flutter/engine/pull/50657 first, so we can fully remove the femu_test.py.
Bug: https://github.com/flutter/flutter/issues/140179
[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-02-14 23:11:56 +00:00
Matan Lurey
b0faf1e1d5
Make all Android scenario_app activities full-screen, even on older Android versions. ( flutter/engine#50666 )
...
Work towards https://github.com/flutter/flutter/issues/143471 .
2024-02-14 23:05:00 +00:00
Zachary Anderson
27d4c0ed6a
Run engine_tool tests ( flutter/engine#50662 )
...
Follow-up on https://github.com/flutter/engine/pull/50642 , which added
tests, but didn't run them. This PR runs them.
2024-02-14 13:51:12 -08:00
Matan Lurey
f3342a014c
Refactor, update, and move around testing/scenario_app/README.md ( flutter/engine#50659 )
...
I'm not sure about long-term direction re: separating the Android and
iOS code, but other than `lib/*.dart`, all of the code in
`testing/scenario_app/**` is platform-specific. Therefore, I've moved
the documentation around, and added to it where it made sense, in order
to make it easier for someone else to grok.
Index:
-
[`testing/scenario_app/README.md`](5012e1fd5d/testing/scenario_app/README.md )
-
[`testing/scenario_app/bin/README.md`](5012e1fd5d/testing/scenario_app/bin/README.md )
-
[`testing/scenario_app/android/README.md`](5012e1fd5d/testing/scenario_app/android/README.md )
-
[`testing/scenario_app/ios/README.md`](5012e1fd5d/testing/scenario_app/ios/README.md )
This also gives me an obvious place to further document how the Android
tests work:
<a
href="5012e1fd5d/testing/scenario_app/android/README.md "><img
width="880" alt="Screenshot 2024-02-14 at 12 35 39 PM"
src="https://github.com/flutter/engine/assets/168174/d4663005-d770-4003-a3fa-74ae8bf635c4 "></a>
Closes https://github.com/flutter/flutter/issues/143350 .
---------
Co-authored-by: Jenn Magder <magder@google.com>
Co-authored-by: Gray Mackall <34871572+gmackall@users.noreply.github.com>
2024-02-14 13:24:41 -08:00
Jason Simmons
e5061e239c
In run_tests, use the regular path to the Vulkan library if lib.unstripped does not exist ( flutter/engine#50629 )
...
lib.unstripped will not be created in a "gn --no-stripped" build
See https://github.com/flutter/engine/pull/50443
2024-02-14 02:19:21 +00:00
gaaclarke
35f67519ca
[Impeller] replaces golden file count with a golden diff file ( flutter/engine#50621 )
...
fixes https://github.com/flutter/flutter/issues/143353
[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-02-14 01:24:52 +00:00
gaaclarke
a9e542b824
[Impeller] Turn on golden tests that use the ImGui widgets functions ( flutter/engine#50606 )
...
[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-02-13 20:35:25 +00:00
zijiehe@
458841cf62
[Fuchsia] Run tests with test arguments ( flutter/engine#50478 )
...
This change starts executing the suites with extra arguments, namely txt_tests, though the implementation does not limit to the suite.
Bug: flutter/flutter#140179
[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-02-13 18:23:22 +00:00
gaaclarke
c4575d9ac7
[Impeller] cleaned up and removed golden test exceptions ( flutter/engine#50572 )
...
This starts generating golden image tests for most interactive tests instead of having to explicitly exempt them.
[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-02-13 04:40:12 +00:00
Matan Lurey
c4b914c009
Add Impeller runtime options to Android scenario_app ( flutter/engine#50487 )
...
Closes https://github.com/flutter/flutter/issues/143171 .
Adds builds for both Impeller Vulkan and Impeller OpenGLES.
_Some of the goldens for Impeller/Vulkan won't look right yet. I'll link
to the blocking issues after CI runs._
2024-02-12 17:59:19 -08:00
Jonah Williams
73f0041fc8
[Impeller] force render pass construction on all backends to ensure image layout is transitioned/render pass state setup. ( flutter/engine#50539 )
...
Fixes https://github.com/flutter/flutter/issues/142358
We rely on the render pass encoding to transition image textures from undefined to shader read layout. If an empty pass is created with no clear color, we still need to create the pass on the Vulkan backend.
2024-02-12 19:58:41 +00:00
zijiehe@
bcd7116bef
[Fuchsia] Run tests with multiple packages ( flutter/engine#50219 )
...
This change enables tests requiring multiple packages in both debug and
release builders; though the AOT test cannot be executed.
Also 4 out of 5 suites are excluded from release builder since some of
the tests are failing; it's worth extra investigation.
MouseInputTest in theory is enabled, it indeed contains only disabled
tests.
Bug: https://github.com/flutter/flutter/issues/140179
## 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] and the [C++,
Objective-C, Java style guides].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I added new tests to check the change I am making or feature I am
adding, or the PR is [test-exempt]. See [testing the engine] for
instructions on writing and running engine tests.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I signed the [CLA].
- [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/wiki/Tree-hygiene#overview
[Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene
[test-exempt]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo
[C++, Objective-C, Java style guides]:
https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
[testing the engine]:
https://github.com/flutter/flutter/wiki/Testing-the-engine
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes
[Discord]: https://github.com/flutter/flutter/wiki/Chat
2024-02-07 15:17:31 -08:00
Matan Lurey
b79821c019
Fix Android scenario_app to actually run and block on CI ( flutter/engine#50414 )
...
20337eaea4
(now reverted) intentionally re-introduced a bug
(https://github.com/flutter/engine/pull/49938 ) on a now working test
runner, and verified that (with some fixes in this PR), we can now catch
regressions on CI with SkiaGold:
---
<details>
<summary>ExternalTextureTests_testCanvasSurface.png</summary>
This test shows that what previously was a picture has been reduced down
to a single stretched pixel.
**BEFORE**:

**AFTER**:

</details>
<details>
<summary>ExternalTextureTests_testRotatedMediaSurface_180.png</summary>
Similar to above, but shows _another_ bug (kClamp versus kRepeat)
**BEFORE**:

**AFTER**:
/cc
</details>
---
This PR now makes the `scenario_test` useful and blocking for Android
engine rolls:
- Add support for connecting to SkiaGold by depending on `goldctl` in
the appropriate configs.
- Add some useful local debugging flags for skipping SkiaGold or running
specific tests (not used by default).
- Failing to connect to Skia gold is now a test failure.
2024-02-07 12:58:41 -08:00