xref: /aosp_15_r20/external/angle/build/config/fuchsia/test/README.md (revision 8975f5c5ed3d1c378011245431ada316dfb6f244)
1*8975f5c5SAndroid Build Coastguard Worker## Manifest Fragments
2*8975f5c5SAndroid Build Coastguard Worker
3*8975f5c5SAndroid Build Coastguard WorkerThis directory contains the manifest fragments that are required for running
4*8975f5c5SAndroid Build Coastguard WorkerFuchsia tests hermetically. Tests start from `minimum.shard.test-cml` and add
5*8975f5c5SAndroid Build Coastguard Workeradditional capabilities as necessary by providing the
6*8975f5c5SAndroid Build Coastguard Worker`additional_manifest_fragments` argument. Some fragments are explained in detail
7*8975f5c5SAndroid Build Coastguard Workerbelow:
8*8975f5c5SAndroid Build Coastguard Worker
9*8975f5c5SAndroid Build Coastguard Worker### General Purpose Fragments
10*8975f5c5SAndroid Build Coastguard Worker
11*8975f5c5SAndroid Build Coastguard Worker#### archivist.shard.test-cml
12*8975f5c5SAndroid Build Coastguard WorkerRuns an `archivist-for-embedding` with custom protocol routing for tests
13*8975f5c5SAndroid Build Coastguard Workerthat want to intercept events written to a `LogSink` by a component.
14*8975f5c5SAndroid Build Coastguard Worker
15*8975f5c5SAndroid Build Coastguard Worker#### chromium_test_facet.shard.test-cml
16*8975f5c5SAndroid Build Coastguard WorkerRuns tests in the `chromium` test realm, which is mostly hermetic but has
17*8975f5c5SAndroid Build Coastguard Workeraccess to specific system services that cannot (currently) be faked. For more
18*8975f5c5SAndroid Build Coastguard Workerinformation, see https://fxbug.dev/91934. This is generally required for all
19*8975f5c5SAndroid Build Coastguard WorkerChromium tests not using the
20*8975f5c5SAndroid Build Coastguard Worker[`chromium_system_test_facet`](#chromium_system_test_facetshardtest-cml).
21*8975f5c5SAndroid Build Coastguard Worker
22*8975f5c5SAndroid Build Coastguard Worker#### fonts.shard.test-cml
23*8975f5c5SAndroid Build Coastguard WorkerFor tests that need `fuchsia.fonts.Provider` to provide a basic set of fonts.
24*8975f5c5SAndroid Build Coastguard WorkerThis shard runs an isolated font provider with fonts bundled into the fonts
25*8975f5c5SAndroid Build Coastguard Workerpackage.
26*8975f5c5SAndroid Build Coastguard Worker
27*8975f5c5SAndroid Build Coastguard Worker#### test_fonts.shard.test-cml
28*8975f5c5SAndroid Build Coastguard WorkerFor tests that need `fuchsia.fonts.Provider` to provide a specific set of fonts
29*8975f5c5SAndroid Build Coastguard Worker(beyond that provided by `fonts.shard.test-cml`). This shard requires fonts to
30*8975f5c5SAndroid Build Coastguard Workerbe provided as a directory. The directory must be named `config-data`, must
31*8975f5c5SAndroid Build Coastguard Workercontain the file named `all_font_manifest.json`, and all the font files named
32*8975f5c5SAndroid Build Coastguard Workerin it. For details see the [font manifest][fm] in Fuchsia documentation.
33*8975f5c5SAndroid Build Coastguard Worker
34*8975f5c5SAndroid Build Coastguard Worker[fm]: https://fuchsia.dev/fuchsia-src/development/internationalization/fonts/build?hl=en#:font_collection-outputs
35*8975f5c5SAndroid Build Coastguard Worker
36*8975f5c5SAndroid Build Coastguard WorkerThe user of this shard must provide a directory `/pkg/test_fonts`, which must
37*8975f5c5SAndroid Build Coastguard Workercontain all the files described above.
38*8975f5c5SAndroid Build Coastguard Worker
39*8975f5c5SAndroid Build Coastguard WorkerWithin Chromium, these fonts are usually provided via the target
40*8975f5c5SAndroid Build Coastguard Worker`//skia:test_fonts`.
41*8975f5c5SAndroid Build Coastguard Worker
42*8975f5c5SAndroid Build Coastguard Worker#### mark_vmo_executable.shard.test-cml
43*8975f5c5SAndroid Build Coastguard WorkerRequired by tests that execute JavaScript. Should only be required in a small
44*8975f5c5SAndroid Build Coastguard Workernumber of tests.
45*8975f5c5SAndroid Build Coastguard Worker
46*8975f5c5SAndroid Build Coastguard Worker#### minimum.shard.test-cml
47*8975f5c5SAndroid Build Coastguard WorkerCapabilities required by anything that uses `//base/test` when running in the
48*8975f5c5SAndroid Build Coastguard Worker(default) `chromium` test realm. It is the default base fragment for most
49*8975f5c5SAndroid Build Coastguard Worker`test()` Components.
50*8975f5c5SAndroid Build Coastguard Worker
51*8975f5c5SAndroid Build Coastguard Worker#### logger.shard.test-cml
52*8975f5c5SAndroid Build Coastguard WorkerFor tests that test logging functionality by providing `fuchsia.logger.Log`.
53*8975f5c5SAndroid Build Coastguard Worker
54*8975f5c5SAndroid Build Coastguard Worker#### sysmem.shard.test-cml
55*8975f5c5SAndroid Build Coastguard WorkerFor tests that depend on the sysmem service (e.g. to allocate image buffers to
56*8975f5c5SAndroid Build Coastguard Workershare with Vulkan and Scenic).
57*8975f5c5SAndroid Build Coastguard Worker
58*8975f5c5SAndroid Build Coastguard Worker#### system_test_minimum.shard.test-cml
59*8975f5c5SAndroid Build Coastguard WorkerCapabilities required by anything that uses `//base/test` when running as a
60*8975f5c5SAndroid Build Coastguard Workersystem test in the `chromium-system` test realm. It is the base fragment for
61*8975f5c5SAndroid Build Coastguard Worker`test()` Components that use the
62*8975f5c5SAndroid Build Coastguard Worker[`chromium_system_test_facet`](#chromium_system_test_facetshardtest-cml).
63*8975f5c5SAndroid Build Coastguard Worker
64*8975f5c5SAndroid Build Coastguard WorkerMost tests use the [`minimum`](#minimumshardtest-cml) shard.
65*8975f5c5SAndroid Build Coastguard Worker
66*8975f5c5SAndroid Build Coastguard Worker#### chromium_system_test_facet.shard.test-cml
67*8975f5c5SAndroid Build Coastguard WorkerRuns tests in the `chromium-system` test realm. This is required for Chromium
68*8975f5c5SAndroid Build Coastguard Workertests that are intended to run against the actual system and its real system
69*8975f5c5SAndroid Build Coastguard Workerservices. This is required for, for example, performance tests intended to
70*8975f5c5SAndroid Build Coastguard Workermeasure system performance. Another overlapping use case is tests that need to
71*8975f5c5SAndroid Build Coastguard Workerbe run in environments without access to the packages containing fake
72*8975f5c5SAndroid Build Coastguard Workerimplementations of required protocols that other tests use.
73*8975f5c5SAndroid Build Coastguard Worker(https://crbug.com/1408597 should make that use case obsolete.)
74*8975f5c5SAndroid Build Coastguard Worker
75*8975f5c5SAndroid Build Coastguard WorkerMost tests should use the
76*8975f5c5SAndroid Build Coastguard Worker[`chromium_test_facet`](#chromium_test_facetshardtest-cml).
77*8975f5c5SAndroid Build Coastguard Worker
78*8975f5c5SAndroid Build Coastguard Worker#### test_ui_stack.shard.test-cml
79*8975f5c5SAndroid Build Coastguard WorkerFor tests that need an isolated UI subsystem, that supports the Flatland
80*8975f5c5SAndroid Build Coastguard WorkerAPI set.  This allows tests to e.g. run with view-focus unaffected by any
81*8975f5c5SAndroid Build Coastguard Workerother tests running concurrently on the device, as well as providing test-only
82*8975f5c5SAndroid Build Coastguard Workerfunctionality such as input-injection support.
83*8975f5c5SAndroid Build Coastguard Worker
84*8975f5c5SAndroid Build Coastguard Worker### WebEngine Fragments
85*8975f5c5SAndroid Build Coastguard WorkerThe following fragments are specific to WebEngine functionality as documented
86*8975f5c5SAndroid Build Coastguard Workerdocumentation at
87*8975f5c5SAndroid Build Coastguard Workerhttps://fuchsia.dev/reference/fidl/fuchsia.web#CreateContextParams and
88*8975f5c5SAndroid Build Coastguard Workerhttps://fuchsia.dev/reference/fidl/fuchsia.web#ContextFeatureFlags.
89*8975f5c5SAndroid Build Coastguard WorkerAny test-specific exceptions are documented for each file.
90*8975f5c5SAndroid Build Coastguard Worker
91*8975f5c5SAndroid Build Coastguard Worker#### audio_output.shard.test-cml
92*8975f5c5SAndroid Build Coastguard WorkerRequired by tests that need to enable audio output.
93*8975f5c5SAndroid Build Coastguard Worker
94*8975f5c5SAndroid Build Coastguard Worker#### platform_video_codecs.shard.test-cml
95*8975f5c5SAndroid Build Coastguard WorkerRequired by tests that need accelerated (e.g., hardware) video codecs. A private
96*8975f5c5SAndroid Build Coastguard Worker(semi-isolated) instance of codec_factory is run for tests using this shard in
97*8975f5c5SAndroid Build Coastguard Workersupport of running on system images that don't run it.
98*8975f5c5SAndroid Build Coastguard Worker
99*8975f5c5SAndroid Build Coastguard Worker#### network.shard.test-cml
100*8975f5c5SAndroid Build Coastguard WorkerFor tests that need access to network services, including those that access a
101*8975f5c5SAndroid Build Coastguard Workerlocal HTTP server.
102*8975f5c5SAndroid Build Coastguard Worker
103*8975f5c5SAndroid Build Coastguard Worker#### network.shard.test-cml
104*8975f5c5SAndroid Build Coastguard WorkerCorresponds to the `NETWORK` flag. Required for enabling network access. Note
105*8975f5c5SAndroid Build Coastguard Workerthat access to the root SSL certificates is not needed if ContextProvider is
106*8975f5c5SAndroid Build Coastguard Workerused to launch the `Context`. The `fuchsia.device.NameProvider` dependency comes
107*8975f5c5SAndroid Build Coastguard Workerfrom fdio.
108*8975f5c5SAndroid Build Coastguard Worker
109*8975f5c5SAndroid Build Coastguard Worker#### present_view.shard.test-cml
110*8975f5c5SAndroid Build Coastguard WorkerServices that are needed to render web content in a Scenic view and present it.
111*8975f5c5SAndroid Build Coastguard WorkerMost services are required per the FIDL documentation.
112*8975f5c5SAndroid Build Coastguard Worker
113*8975f5c5SAndroid Build Coastguard Worker#### web_instance.shard.test-cml
114*8975f5c5SAndroid Build Coastguard WorkerContains services that need to be present when creating a `fuchsia.web.Context`.
115*8975f5c5SAndroid Build Coastguard WorkerNote that the `fuchsia.scheduler.ProfileProvider` service is only used in tests
116*8975f5c5SAndroid Build Coastguard Workerthat encounter memory pressure code.
117