175 Commits

Author SHA1 Message Date
Zachary Anderson
81534e8ace Adds a Dart library for loading and parsing build configs (flutter/engine#45390)
Also adds a test that the build configs in the repo are valid json that
matches the spec.

Fleshed out @christopherfujino's code from here
https://github.com/christopherfujino/flutter-engine-runner/blob/main/main.dart
2023-09-05 10:00:44 -07:00
Matan Lurey
293bca4e65 Add a build_bucket_golden_scraper tool. (flutter/engine#45243)
As discussed offline, this is best deleted when Skia-gold is used for
all of our engine tests.

However, this will be useful for unblocking some PRs until then :)

See README.md for details!
2023-08-30 17:26:01 -07:00
Matan Lurey
b5eb6ab69a A minimal engine_tools_lib to use for local-repo Dart tooling (flutter/engine#45154)
Partial work towards re-landing #44936.

Both the `clang_tidy` and `githooks` passage could benefit from being
able to automatically find the latest `compile_commands.json` output,
which means that some common code should exist in the `tools/`
directory.

This is a very minimal (but tested) library for doing exactly that.
2023-08-28 19:25:56 -07:00
Dan Field
0d8aebd040 Revert "Make run_tests.py assert that the ios test dylib is at least as new as libFlutter.dylib" (flutter/engine#44690)
Reverts flutter/engine#41720

Fixes https://github.com/flutter/flutter/issues/131899
2023-08-14 18:36:02 +00:00
Chris Bracken
d86ab60601 [darwin] Move common targets to common/BUILD.gn (flutter/engine#44335)
Previously, some common Darwin framework targets existed in: 
//flutter/shell/platform/darwin/BUILD.gn

This moves all targets into:
//flutter/shell/platform/darwin/common/BUILD.gn

The framework_shared target has been renamed framework_common for consistency with the directory name, and flutter_channels_unittests has been renamed framework_common_unittests since it's a reasonable target for adding other tests of common framework code.

We also de-duplicate targets with existing targets.
* The `flutter_channels` target duplicates the existing
`framework_shared` target.
* The `common` target already includes the buffer conversions
translation units,
  which are only used by the iOS embedder.

No test changes since there are no semantic changes, just a
restructuring of build targets.

## 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.
- [ ] I added new tests to check the change I am making or feature I am
adding, or Hixie said 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
[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
2023-08-03 13:21:35 -07:00
Márk Tolmács
f41c1644d8 Enabling pre-push checks on Windows (flutter/engine#36123)
Re-submit the changes to enable windows pre-push checks.

This patch changes how `ci/bin/format.dart` generate diffs from `diff` and `patch` commands to `git diff` and `git apply` in order to have a common method for these operations on all platforms. Windows installations don't have diff and patch commands available by default and many implementations which provide such commands work differently than the UN*X tools. Git however works consistently across all platforms.

Additionally, this patch also changes the python executable in some of the pre-push components affected by this to `vpython3` to continue the effort started at flutter/flutter#108474 and I also removed the `--no-sound-null-safety` parameter in the ci/format.sh, ci/format.bat files

NOTE: Since the original patch caused some issues, I suggest that this should be tested more carefully before it is merged.

### Issues fixed by this PR
* flutter/flutter#108122
* flutter/flutter#107920
* flutter/flutter#86506
* flutter/flutter#106615

### [flutter/tests] repo impact
None.

writing and running engine tests.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-06-21 17:20:06 +00:00
gaaclarke
922c7250bd [Impeller] Fixed TypographerTest.MaybeHasOverlapping (flutter/engine#42429)
fixes https://github.com/flutter/flutter/issues/127714

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-05-30 23:33:00 +00:00
gaaclarke
25154333d5 [Impeller] Fixed GlyphAtlasWithLotsOfdUniqueGlyphSize (flutter/engine#42423)
fixes https://github.com/flutter/flutter/issues/127715

## 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 Hixie said 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
[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
2023-05-30 13:13:36 -07:00
gaaclarke
097856100f [Impeller] removed vulkan unit test csv (flutter/engine#42354)
fixes https://github.com/flutter/flutter/issues/113961

There were just 2 outstanding tests that were failing.

## 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.
- [ ] I added new tests to check the change I am making or feature I am
adding, or Hixie said 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
[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
2023-05-30 11:50:20 -07:00
gaaclarke
d73aac2434 Started executing vulkan unit tests with validation on macos (flutter/engine#42337)
fixes https://github.com/flutter/flutter/issues/127634

This PR depends on a buildroot change at https://github.com/flutter/buildroot/pull/737

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-05-26 19:05:19 +00:00
gaaclarke
dc22f5f572 [Impeller] Turn on vulkan tests for mac CI. (flutter/engine#42225)
This uses swiftshader to run the tests on mac.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-05-24 23:25:06 +00:00
gaaclarke
9258309eed Turned back on debug unit tests (flutter/engine#42261)
I refactored the `EXPECT_EXIT` tests since they are unsafe to execute in a process with multiple threads.

This leaves `flutter_desktop_darwin_unittests` disabled since it has existing issues.

fixes https://github.com/flutter/flutter/issues/103757

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-05-23 23:13:35 +00:00
Chris Yang
e82760c0ff Fix upload xcresult script in run_tests.py (flutter/engine#42056)
The original PR https://github.com/flutter/engine/pull/41647 forgot to add try-except-raise

fixes https://github.com/flutter/flutter/issues/125823

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-05-15 23:11:04 +00:00
Chris Yang
8d07db38c5 Upload xcresults to LUCI cloud storage (flutter/engine#41647)
Taking over from https://github.com/flutter/engine/pull/41644

fixes: https://github.com/flutter/flutter/issues/125823

Steps to verify

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-05-15 19:05:10 +00:00
gaaclarke
015608f15e [Impeller] starts running vulkan golden image tests with swiftshader (flutter/engine#41958)
fixes https://github.com/flutter/flutter/issues/126022

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-05-12 20:34:55 +00:00
Dan Field
1535542946 Make run_tests.py assert that the ios test dylib is at least as new as libFlutter.dylib (flutter/engine#41720)
This would have helped me figure out why I wasn't getting the same failures as on CI more quickly.
2023-05-04 01:49:22 +00:00
gaaclarke
b454d4874d [Impeller] Turns on the Metal validator for impeller_unittests. (flutter/engine#40998)
fixes https://github.com/flutter/flutter/issues/121017

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2023-05-01 18:48:42 +00:00
gaaclarke
142803bf72 [Impeller] Adds golden image tests. (flutter/engine#40366)
Added golden image tests to impeller
2023-03-24 16:42:28 -07:00
Zachary Anderson
4d98e1f1f7 Ignore some MTLCompiler failures in impeller unit tests (flutter/engine#40391) 2023-03-17 13:05:43 -07:00
gaaclarke
2a6fa69bc2 disabled the impeller unit tests again (flutter/engine#40389) 2023-03-17 11:07:51 -07:00
Zachary Anderson
d39891c432 Un-bitrot impeller_unittests; disable failing tests; disable non-metal backends (flutter/engine#40339) 2023-03-16 19:34:57 -07:00
Greg Spencer
c55ce6d9be Reland: Add testing hints (#39868) (flutter/engine#39931)
Reland: Add testing hints (#39868)
2023-02-28 19:39:46 +00:00
Zachary Anderson
a3d5c25a5c Revert "Add testing hints (#39868)" (flutter/engine#39921)
Revert "Add testing hints"
2023-02-27 20:36:03 +00:00
Greg Spencer
2f30f0c6a4 Add testing hints (flutter/engine#39868)
Add testing hints
2023-02-27 20:08:53 +00:00
godofredoc
4f175e2481 Enable the same tests in linux host for v2 and legacy recipes. (flutter/engine#39635)
* Enable the same test in linux host for v2 and legacy recipes.

Dart tests were not being run in the engine v2 linux builds.

Bug: https://github.com/flutter/flutter/issues/120701

* Generate path_ops.

* Remove unopt build requirement.

* Remove the check for host_debug_unopt.

* Add shell_testing deps.

* Add path_ops.

* Build benchmarks in release.

* Enable fml benchmarks.

* Add UI benchmarks.

* Add ui_list.

* Add geometry benchmarks.

* Add remaining benchmark targets.
2023-02-16 16:39:39 +00:00
luckysmg
e9254a637b Add iOS spring animation objc files (flutter/engine#38801)
* ++

* ++

* ++

* ++

* ++

* ++

* Add tests

* ++

* ++

* ++

* ++

* ++
2023-02-02 00:29:17 +00:00
Ricardo Amador
2e9905afab Update infrastructure python code to be compatible with python 2 and python 3 (flutter/engine#39133)
* Compatibility with python2 and python3

* Formatting

* Updated to use a function instead of decoding bytes in multiple places.

* Formatting and whitespace cleanup.

* Fix import statement.

* Linter change for docstring.

* Formatting.

* Remove function from run_tests.py since it is a pain to import.

* Add todo message for python 2 deprecation.

* Updated copyright year.
2023-01-26 16:04:31 +00:00
Chinmay Garde
a35e55cf9a [Impeller] Disable impeller_unittests. (flutter/engine#38307)
Fixes https://github.com/flutter/flutter/issues/114872
Followup in https://github.com/flutter/flutter/issues/117122
2022-12-15 02:27:17 +00:00
Zachary Anderson
9896c5f66d pylint all Python scripts under testing/ (flutter/engine#38268) 2022-12-14 16:23:16 +00:00
Zachary Anderson
6a6203c77e Pylint testing/run_tests.py (flutter/engine#38016) 2022-12-09 09:14:48 -08:00
Christopher Fujino
62dc88c192 extend const_finder to allow skipping particular classes (flutter/engine#37257)
* wip

* extend const_finder_test to compile web dills

* add test

* add back tests, including non-const for web

* update run_tests.py

* fix whitespace

* clean up test file

* add new options to cli

* use annotation rather than explicit deny list

* clean up

* Apply suggestions from code review

Co-authored-by: Zachary Anderson <zanderso@users.noreply.github.com>

* clean up

* code review

Co-authored-by: Zachary Anderson <zanderso@users.noreply.github.com>
2022-11-11 23:38:03 +00:00
Jonah Williams
6641536611 use shader utils for JSON test (flutter/engine#37176) 2022-10-31 17:42:58 +00:00
Jonah Williams
4a72fe9fae [Impeller] add supprt for JSON output mode (flutter/engine#37123) 2022-10-29 16:38:16 +00:00
Dan Field
248aca72c6 [Impeller] Set resourceOptions/storageMode on MTLTextures created from MTLBuffers. (flutter/engine#37073) 2022-10-28 06:35:21 +00:00
Kaushik Iska
83489bd574 [Impeller] Add a shard for Impeller Vulkan testing (flutter/engine#36965) 2022-10-25 19:29:44 +00:00
Dan Field
cb5d746c25 [Impeller] Add polyline benchmark with lots of cubics and quads. (flutter/engine#36731) 2022-10-13 18:31:04 +00:00
ColdPaleLight
cbda16b4b4 Create benchmarks for DisplayListBuilder (flutter/engine#34910) 2022-07-29 18:56:02 +00:00
Márk Tolmács
c85e3529b1 Fix tests on the Windows platform (flutter/engine#34350)
Addresses https://github.com/flutter/flutter/issues/36301
2022-07-11 11:01:05 -07:00
Dan Field
6dd8d32f31 Expose SkPathOps in a standalone library. (flutter/engine#34267) 2022-07-11 10:11:03 -07:00
Zachary Anderson
3c6820dc68 Move embedder_a11y_unittests to its own binary (flutter/engine#34377) 2022-06-29 12:38:26 -07:00
Dan Field
f7163f555c Roll SwiftShader, ANGLE, use SwANGLE in test harnesses (flutter/engine#33814)
Roll Swiftshader, ANGLE, and Vulkan deps.

Updates license bot for new locations of licenses and new files
in roll.

Converts unit test harnesses to use SwANGLE, which is the
supported way of using SwiftShader as a software backend for GLES.

Updates goldens due to swiftshader changes.

Fixes up include paths to avoid directly including third_party
code by that name, which is unlikely to work in other build
environments.

Includes upstream patches to ANGLE and SwiftShader to build in our
windows environments, as well as patches to Skia to support
defining the location of VulkanMemoryAllocator and a patch to ANGLE
to support opting into a newer version of VMA.
2022-06-23 16:43:39 -07:00
Emmanuel Garcia
135a1c8e56 Handle SurfaceView in a VirtualDisplay (flutter/engine#33599) 2022-06-22 19:39:05 -07:00
Jonah Williams
a184d04005 cleanup fractional translation ifdefs and config (flutter/engine#34198) 2022-06-22 09:00:57 -07:00
jensjoha
f316b56ce7 Fix dot package references (flutter/engine#34174)
Don't use .packages -> use .dart_tool/package_config.json
2022-06-21 08:17:18 +02:00
Jenn Magder
7f68c203f9 Create iOS simulator before running IosUnitTests (flutter/engine#33906) 2022-06-09 15:38:05 -07:00
Dan Field
45633ced2a Purge resources on rasterizer teardown (flutter/engine#33890) 2022-06-08 16:58:04 -07:00
Zachary Anderson
1790d5a019 Adds a python formatter (flutter/engine#33797)
* Adds a python formatter

* Apply format
2022-06-03 13:00:14 -07:00
Zachary Anderson
ba64d1e1b5 Run some unit tests in parallel (flutter/engine#33603) 2022-05-26 20:14:06 -07:00
Zachary Anderson
5d5c396ec0 Run run_tests.py Dart tests in parallel (flutter/engine#33619) 2022-05-26 14:44:09 -07:00
Emmanuel Garcia
5ce95c21d7 Fix scenario tests on Android (flutter/engine#33360) 2022-05-20 12:38:05 -07:00