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