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