blob: 6a4fdf6ae6147737671fed0efa9715381b6621fc [file] [log] [blame]
// Copyright 2022 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// TODO(https://fxbug.dev/42173552): Consider making this not Chromium-specific or using
// //sdk/lib/sys/testing/system-test.shard.cml instead.
{
collections: [
{
name: "chromium-system-tests",
environment: "#test-env",
durability: "transient",
},
],
offer: [
{
// Hermetic protocols offered to all tests. See
// https://fuchsia.dev/fuchsia-src/development/testing/components/test_runner_framework#hermetic_capabilities_for_tests.
protocol: [
"fuchsia.inspect.InspectSink",
"fuchsia.logger.LogSink",
"fuchsia.process.Launcher",
],
from: "parent",
to: [ "#chromium-system-tests" ],
},
// These system capabilities are offered for use by the chromium tests.
{
protocol: [
"fuchsia.buildinfo.Provider",
"fuchsia.device.NameProvider",
"fuchsia.feedback.ComponentDataRegister",
"fuchsia.feedback.CrashReportingProductRegister",
"fuchsia.fonts.Provider",
"fuchsia.hwinfo.Board",
"fuchsia.hwinfo.Device",
"fuchsia.hwinfo.Product",
"fuchsia.intl.PropertyProvider",
"fuchsia.kernel.VmexResource",
"fuchsia.media.Audio",
"fuchsia.media.AudioDeviceEnumerator",
"fuchsia.media.ProfileProvider",
"fuchsia.mediacodec.CodecFactory",
"fuchsia.memorypressure.Provider",
"fuchsia.net.http.Loader",
"fuchsia.net.interfaces.State",
"fuchsia.net.name.Lookup",
"fuchsia.posix.socket.Provider",
"fuchsia.scheduler.RoleManager",
"fuchsia.settings.Display",
// Tests of the media system change their behavior based on
// board.
"fuchsia.sysinfo.SysInfo",
"fuchsia.sysmem.Allocator",
"fuchsia.sysmem2.Allocator",
"fuchsia.vulkan.loader.Loader",
"fuchsia.web.ContextProvider",
],
from: "parent",
to: "#chromium-system-tests",
},
{
protocol: [
"fuchsia.element.GraphicalPresenter",
"fuchsia.media.drm.Widevine",
],
from: "parent",
to: "#chromium-system-tests",
availability: "optional",
},
// These protocols are optional because they may not exist on all products that
// include test_manager. They are routed with `same_as_target` because they
// are required by Chromium tests. The tests run only on products where the
// protocols are available.
{
protocol: [
"fuchsia.accessibility.semantics.SemanticsManager",
"fuchsia.input.virtualkeyboard.ControllerCreator",
"fuchsia.media.SessionAudioConsumerFactory",
"fuchsia.stash.SecureStore",
"fuchsia.ui.composition.Allocator",
"fuchsia.ui.composition.Flatland",
"fuchsia.ui.input3.Keyboard",
"fuchsia.ui.scenic.Scenic",
],
from: "parent",
to: "#chromium-system-tests",
availability: "same_as_target",
},
{
protocol: [
"fuchsia.tracing.perfetto.ProducerConnector",
"fuchsia.tracing.provider.Registry",
],
from: "parent",
to: "#chromium-system-tests",
availability: "same_as_target",
},
// Test realms may offer subdirectories of config-data to test
// components. See:
// https://fuchsia.dev/fuchsia-src/development/components/data#product-specific_configuration_with_config_data
{
directory: "config-data",
from: "parent",
to: "#chromium-system-tests",
},
{
event_stream: [
"capability_requested",
"debug_started",
"destroyed",
"discovered",
"started",
"stopped",
],
from: "parent",
to: "#chromium-system-tests",
scope: "#chromium-system-tests",
},
{
directory: [
"dev-goldfish-address-space",
"dev-goldfish-control",
"dev-goldfish-pipe",
"dev-goldfish-sync",
"dev-gpu",
"dev-mediacodec",
],
from: "parent",
to: "#chromium-system-tests",
rights: [ "r*" ],
},
{
directory: "root-ssl-certificates",
from: "parent",
to: "#chromium-system-tests",
},
{
directory: [
// `tzdata-icu` offers /config/tzdata/icu.
// `tzdata-icu-44-le` offers /config/tzdata/icu/44/le only.
"tzdata-icu",
"tzdata-icu-44-le",
],
from: "parent",
to: "#chromium-system-tests",
},
{
storage: "fxfs_tests_data",
from: "self",
as: "data",
to: [ "#chromium-system-tests" ],
},
{
storage: "tmp",
from: "self",
to: [ "#chromium-system-tests" ],
},
{
storage: "cache",
from: "self",
to: [ "#chromium-system-tests" ],
},
],
}