Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Commit c41a05d

Browse files
authored
Clean up contributing formatting, add a Skia gold callout (#50828)
I am open to suggestions for other things to write under "Skia Gold".
1 parent e8adbd3 commit c41a05d

1 file changed

Lines changed: 63 additions & 40 deletions

File tree

CONTRIBUTING.md

Lines changed: 63 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -40,15 +40,38 @@ with `gn format`.
4040

4141
## Testing
4242

43-
The testing policy for contributing to the flutter engine can be found at the [Tree Hygiene Wiki][tree_hygiene_wiki]. The summary is that all PR's to the engine should be tested or have an explicit test exemption.
43+
The testing policy for contributing to the flutter engine can be found at the
44+
[Tree Hygiene Wiki][tree_hygiene_wiki]. The summary is that all PR's to the
45+
engine should be tested or have an explicit test exemption.
4446

45-
Because the engine targets multiple platforms the testing infrastructure is fairly complicated. Here are some more resources to help guide writing tests:
47+
Because the engine targets multiple platforms the testing infrastructure is
48+
fairly complicated. Here are some more resources to help guide writing tests:
4649

47-
- [Testing the engine wiki][testing_the_engine_wiki] - A guide on writing tests for the engine including an overview of the different tests and the different technologies the engine uses.
48-
- [//testing](./testing) - This is where the `run_tests.py` script is located. All tests will have the ability to be executed with `run_tests.py`.
49-
- [//ci/builders](./ci/builders) - The JSON files that determine how tests are executed on CI.
50+
- [Testing the engine wiki][testing_the_engine_wiki] - A guide on writing tests
51+
for the engine including an overview of the different tests and the different
52+
technologies the engine uses.
53+
- [`//testing`](./testing) - This is where the `run_tests.py` script is located.
54+
All tests will have the ability to be executed with `run_tests.py`.
55+
- [`//ci/builders`](./ci/builders) - The JSON files that determine how tests are
56+
executed on CI.
5057

51-
Tests will be executed on CI, but some tests will be executed before PR's can be merged (presubmit) and others after they have been merged (postsubmit). Ideally everything would be presubmit but tests that take up more resources are executed in postsubmit.
58+
Tests will be executed on CI, but some tests will be executed before PR's can be
59+
merged (presubmit) and others after they have been merged (postsubmit). Ideally
60+
everything would be presubmit but tests that take up more resources are executed
61+
in postsubmit.
62+
63+
### Skia Gold
64+
65+
The Flutter engine uses [Skia Gold][skia_gold] for image comparison tests which fail if:
66+
67+
- The image is different from an accepted baseline.
68+
- An image is not uploaded but is expected to be (see
69+
[`dir_contents_diff`][dir_contents_diff]).
70+
71+
[skia_gold]: https://flutter-engine-gold.skia.org/
72+
[dir_contents_diff]: ./tools/dir_contents_diff/
73+
74+
Any untriaged failures will block presubmit and postsubmit tests.
5275

5376
### Example run_tests.py invocation
5477

@@ -64,40 +87,40 @@ $ ./run_tests.py --variant=host_debug_unopt_arm64 --type=engine`
6487

6588
### Directory
6689

67-
| Name | run_tests.py type | Description |
68-
|-|-|-|
69-
| accessibility_unittests |engine ||
70-
| client_wrapper_glfw_unittests|engine ||
71-
| client_wrapper_unittests|engine ||
72-
| common_cpp_core_unittests|engine ||
73-
| common_cpp_unittests|engine ||
74-
| dart_plugin_registrant_unittests|engine ||
75-
| display_list_rendertests|engine ||
76-
| display_list_unittests|engine ||
77-
| embedder_a11y_unittests|engine ||
78-
| embedder_proctable_unittests|engine ||
79-
| embedder_unittests|engine ||
80-
| felt| n/a | The test runner for flutter web. See //lib/web_ui |
81-
| flow_unittests| engine ||
82-
| flutter_tester| dart | Launcher for engine dart tests. |
83-
| fml_arc_unittests|engine ||
84-
| fml_unittests|engine | Unit tests for //fml |
85-
| framework_common_unittests| engine(mac) ||
86-
| gpu_surface_metal_unittests| engine(mac)||
87-
| impeller_dart_unittests| engine ||
88-
| impeller_golden_tests| engine(mac)| Generates golden images for impeller (vulkan, metal, opengles).|
89-
| impeller_unittests| engine | impeller unit tests and interactive tests |
90-
| ios_test_flutter| objc | dynamic library of objc tests to be run with XCTest |
91-
| jni_unittests| engine(not windows)||
92-
| no_dart_plugin_registrant_unittests|engine ||
93-
| platform_view_android_delegate_unittests| engine(not windows) ||
94-
| runtime_unittests|engine ||
95-
| shell_unittests|engine(not windows) ||
96-
| scenario_app|android | Integration and golden tests for Android, iOS|
97-
| testing_unittests| engine ||
98-
| tonic_unittests|engine | Unit tests for //third_party/tonic |
99-
| txt_unittests| engine(linux) ||
100-
| ui_unittests|engine ||
90+
| Name | run_tests.py type | Description |
91+
| ---------------------------------------- | ------------------- | --------------------------------------------------------------- |
92+
| accessibility_unittests | engine | |
93+
| client_wrapper_glfw_unittests | engine | |
94+
| client_wrapper_unittests | engine | |
95+
| common_cpp_core_unittests | engine | |
96+
| common_cpp_unittests | engine | |
97+
| dart_plugin_registrant_unittests | engine | |
98+
| display_list_rendertests | engine | |
99+
| display_list_unittests | engine | |
100+
| embedder_a11y_unittests | engine | |
101+
| embedder_proctable_unittests | engine | |
102+
| embedder_unittests | engine | |
103+
| felt | n/a | The test runner for flutter web. See //lib/web_ui |
104+
| flow_unittests | engine | |
105+
| flutter_tester | dart | Launcher for engine dart tests. |
106+
| fml_arc_unittests | engine | |
107+
| fml_unittests | engine | Unit tests for //fml |
108+
| framework_common_unittests | engine(mac) | |
109+
| gpu_surface_metal_unittests | engine(mac) | |
110+
| impeller_dart_unittests | engine | |
111+
| impeller_golden_tests | engine(mac) | Generates golden images for impeller (vulkan, metal, opengles). |
112+
| impeller_unittests | engine | impeller unit tests and interactive tests |
113+
| ios_test_flutter | objc | dynamic library of objc tests to be run with XCTest |
114+
| jni_unittests | engine(not windows) | |
115+
| no_dart_plugin_registrant_unittests | engine | |
116+
| platform_view_android_delegate_unittests | engine(not windows) | |
117+
| runtime_unittests | engine | |
118+
| shell_unittests | engine(not windows) | |
119+
| scenario_app | android | Integration and golden tests for Android, iOS |
120+
| testing_unittests | engine | |
121+
| tonic_unittests | engine | Unit tests for //third_party/tonic |
122+
| txt_unittests | engine(linux) | |
123+
| ui_unittests | engine | |
101124

102125
[tree_hygiene_wiki]: https://github.com/flutter/flutter/wiki/Tree-hygiene#tests
103126
[testing_the_engine_wiki]: https://github.com/flutter/flutter/wiki/Testing-the-engine

0 commit comments

Comments
 (0)