• Home
Name Date Size #Lines LOC

..--

README.mdD03-May-20244.8 KiB11388

archivist.shard.test-cmlD03-May-2024733 2928

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-2024802 3938

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-2024740 3837

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-without-attribution` 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 access
17to 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 test fonts by providing `fuchsia.fonts.Provider`. This shard
24runs an isolated font provider, but serves the fonts present on the system.
25
26#### test_fonts.shard.test-cml
27For tests that use the fonts in `//third_party/test_fonts` by way of
28`//skia:test_fonts_cfv2`.
29
30#### mark_vmo_executable.shard.test-cml
31Required by tests that execute JavaScript. Should only be required in a small
32number of tests.
33
34#### minimum.shard.test-cml
35Capabilities required by anything that uses `//base/test` when running in the
36(default) `chromium` test realm. It is the default base fragment for most
37`test()` Components.
38
39The system-wide `config-data` directory capability is routed to tests running in
40the realm so that individual tests may route subdirectories as needed.
41TODO(crbug.com/1360077): Remove this after migrating to the new mechanism.
42
43#### logger.shard.test-cml
44For tests that test logging functionality by providing `fuchsia.logger.Log`.
45
46#### sysmem.shard.test-cml
47For tests that depend on the sysmem service (e.g. to allocate image buffers to
48share with Vulkan and Scenic).
49
50#### system_test_minimum.shard.test-cml
51Capabilities required by anything that uses `//base/test` when running as a
52system test in the `chromium-system` test realm. It is the base fragment for
53`test()` Components that use the
54[`chromium_system_test_facet`](#chromium_system_test_facetshardtest-cml).
55
56Most tests use the [`minimum`](#minimumshardtest-cml) shard.
57
58#### chromium_system_test_facet.shard.test-cml
59Runs tests in the `chromium-system` test realm. This is required for Chromium
60tests that are intended to run against the actual system and its real system
61services. This is required for, for example, performance tests intended to
62measure system performance. Another overlapping use case is tests that need to
63be run in environments without access to the packages containing fake
64implementations of required protocols that other tests use.
65(https://crbug.com/1408597 should make that use case obsolete.)
66
67Most tests should use the
68[`chromium_test_facet`](#chromium_test_facetshardtest-cml).
69
70#### test_ui_stack.shard.test-cml
71For tests that need an isolated UI subsystem, that supports the Flatland
72API set.  This allows tests to e.g. run with view-focus unaffected by any
73other tests running concurrently on the device, as well as providing test-only
74functionality such as input-injection support.
75
76#### gfx_test_ui_stack.shard.test-cml
77For tests that need an isolated display subsystem supporting the legacy
78Scenic/GFX APIs.
79
80### WebEngine Fragments
81The following fragments are specific to WebEngine functionality as documented
82documentation at
83https://fuchsia.dev/reference/fidl/fuchsia.web#CreateContextParams and
84https://fuchsia.dev/reference/fidl/fuchsia.web#ContextFeatureFlags.
85Any test-specific exceptions are documented for each file.
86
87#### audio_output.shard.test-cml
88Required by tests that need to enable audio output.
89
90#### platform_video_codecs.shard.test-cml
91Required by tests that need accelerated (e.g., hardware) video codecs. A private
92(semi-isolated) instance of codec_factory is run for tests using this shard in
93support of running on system images that don't run it.
94
95#### network.shard.test-cml
96For tests that need access to network services, including those that access a
97local HTTP server.
98
99#### network.shard.test-cml
100Corresponds to the `NETWORK` flag. Required for enabling network access. Note
101that access to the root SSL certificates is not needed if ContextProvider is
102used to launch the `Context`. The `fuchsia.device.NameProvider` dependency comes
103from fdio.
104
105#### present_view.shard.test-cml
106Services that are needed to render web content in a Scenic view and present it.
107Most services are required per the FIDL documentation.
108
109#### web_instance.shard.test-cml
110Contains services that need to be present when creating a `fuchsia.web.Context`.
111Note that the `fuchsia.scheduler.ProfileProvider` service is only used in tests
112that encounter memory pressure code.
113