• Home
Name Date Size #Lines LOC

..--

OWNERSD03-May-2024238 86

README.mdD03-May-20245.4 KiB12597

archivist.shard.test-cmlD03-May-2024999 4443

asan_options.shard.test-cmlD03-May-2024361 1312

audio_output.shard.test-cmlD03-May-2024490 1716

chromium_system_test_facet.shard.test-cmlD03-May-2024213 98

chromium_test_facet.shard.test-cmlD03-May-2024206 98

context_provider.shard.test-cmlD03-May-2024776 3130

elf_test_ambient_exec_runner.shard.test-cmlD03-May-2024360 1817

elf_test_runner.shard.test-cmlD03-May-2024347 1817

fonts.shard.test-cmlD03-May-2024845 3534

gfx_test_ui_stack.shard.test-cmlD03-May-20241.3 KiB5048

logger.shard.test-cmlD03-May-2024205 98

mark_vmo_executable.shard.test-cmlD03-May-2024240 1312

minimum.shard.test-cmlD03-May-20241.6 KiB7978

network.shard.test-cmlD03-May-2024484 2120

platform_video_codecs.shard.test-cmlD03-May-20241.1 KiB4948

present_view.shard.test-cmlD03-May-2024989 4342

sysmem.shard.test-cmlD03-May-2024218 1110

system_test_minimum.shard.test-cmlD03-May-2024915 4746

test_fonts.shard.test-cmlD03-May-2024918 4039

test_ui_stack.shard.test-cmlD03-May-20241.2 KiB4948

web_instance.shard.test-cmlD03-May-2024676 2221

README.md

1## Manifest Fragments
2
3This directory contains the manifest fragments that are required for running
4Fuchsia tests hermetically. Tests start from `minimum.shard.test-cml` and add
5additional capabilities as necessary by providing the
6`additional_manifest_fragments` argument. Some fragments are explained in detail
7below:
8
9### General Purpose Fragments
10
11#### archivist.shard.test-cml
12Runs an `archivist-for-embedding` with custom protocol routing for tests
13that want to intercept events written to a `LogSink` by a component.
14
15#### chromium_test_facet.shard.test-cml
16Runs tests in the `chromium` test realm, which is mostly hermetic but has
17access to specific system services that cannot (currently) be faked. For more
18information, see https://fxbug.dev/91934. This is generally required for all
19Chromium tests not using the
20[`chromium_system_test_facet`](#chromium_system_test_facetshardtest-cml).
21
22#### fonts.shard.test-cml
23For tests that need `fuchsia.fonts.Provider` to provide a basic set of fonts.
24This shard runs an isolated font provider with fonts bundled into the fonts
25package.
26
27#### test_fonts.shard.test-cml
28For tests that need `fuchsia.fonts.Provider` to provide a specific set of fonts
29(beyond that provided by `fonts.shard.test-cml`). This shard requires fonts to
30be provided as a directory. The directory must be named `config-data`, must
31contain the file named `all_font_manifest.json`, and all the font files named
32in it. For details see the [font manifest][fm] in Fuchsia documentation.
33
34[fm]: https://fuchsia.dev/fuchsia-src/development/internationalization/fonts/build?hl=en#:font_collection-outputs
35
36The user of this shard must provide a directory `/pkg/test_fonts`, which must
37contain all the files described above.
38
39Within Chromium, these fonts are usually provided via the target
40`//skia:test_fonts`.
41
42#### mark_vmo_executable.shard.test-cml
43Required by tests that execute JavaScript. Should only be required in a small
44number of tests.
45
46#### minimum.shard.test-cml
47Capabilities required by anything that uses `//base/test` when running in the
48(default) `chromium` test realm. It is the default base fragment for most
49`test()` Components.
50
51The system-wide `config-data` directory capability is routed to tests running in
52the realm so that individual tests may route subdirectories as needed.
53TODO(crbug.com/1360077): Remove this after migrating to the new mechanism.
54
55#### logger.shard.test-cml
56For tests that test logging functionality by providing `fuchsia.logger.Log`.
57
58#### sysmem.shard.test-cml
59For tests that depend on the sysmem service (e.g. to allocate image buffers to
60share with Vulkan and Scenic).
61
62#### system_test_minimum.shard.test-cml
63Capabilities required by anything that uses `//base/test` when running as a
64system test in the `chromium-system` test realm. It is the base fragment for
65`test()` Components that use the
66[`chromium_system_test_facet`](#chromium_system_test_facetshardtest-cml).
67
68Most tests use the [`minimum`](#minimumshardtest-cml) shard.
69
70#### chromium_system_test_facet.shard.test-cml
71Runs tests in the `chromium-system` test realm. This is required for Chromium
72tests that are intended to run against the actual system and its real system
73services. This is required for, for example, performance tests intended to
74measure system performance. Another overlapping use case is tests that need to
75be run in environments without access to the packages containing fake
76implementations of required protocols that other tests use.
77(https://crbug.com/1408597 should make that use case obsolete.)
78
79Most tests should use the
80[`chromium_test_facet`](#chromium_test_facetshardtest-cml).
81
82#### test_ui_stack.shard.test-cml
83For tests that need an isolated UI subsystem, that supports the Flatland
84API set.  This allows tests to e.g. run with view-focus unaffected by any
85other tests running concurrently on the device, as well as providing test-only
86functionality such as input-injection support.
87
88#### gfx_test_ui_stack.shard.test-cml
89For tests that need an isolated display subsystem supporting the legacy
90Scenic/GFX APIs.
91
92### WebEngine Fragments
93The following fragments are specific to WebEngine functionality as documented
94documentation at
95https://fuchsia.dev/reference/fidl/fuchsia.web#CreateContextParams and
96https://fuchsia.dev/reference/fidl/fuchsia.web#ContextFeatureFlags.
97Any test-specific exceptions are documented for each file.
98
99#### audio_output.shard.test-cml
100Required by tests that need to enable audio output.
101
102#### platform_video_codecs.shard.test-cml
103Required by tests that need accelerated (e.g., hardware) video codecs. A private
104(semi-isolated) instance of codec_factory is run for tests using this shard in
105support of running on system images that don't run it.
106
107#### network.shard.test-cml
108For tests that need access to network services, including those that access a
109local HTTP server.
110
111#### network.shard.test-cml
112Corresponds to the `NETWORK` flag. Required for enabling network access. Note
113that access to the root SSL certificates is not needed if ContextProvider is
114used to launch the `Context`. The `fuchsia.device.NameProvider` dependency comes
115from fdio.
116
117#### present_view.shard.test-cml
118Services that are needed to render web content in a Scenic view and present it.
119Most services are required per the FIDL documentation.
120
121#### web_instance.shard.test-cml
122Contains services that need to be present when creating a `fuchsia.web.Context`.
123Note that the `fuchsia.scheduler.ProfileProvider` service is only used in tests
124that encounter memory pressure code.
125