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