blob: c3f92e3499a90e7c31a7747585a75407515dd831 [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.
// Definition for the system-validation test realm. This is the root of system validation tests
// To use add to your test component's .cml file:
//
// facets: {
// "fuchsia.test": { type: "system-validation" },
// },
{
collections: [
{
name: "system-validation-tests",
environment: "#test-env",
durability: "transient",
},
],
offer: [
{
// These are hermetic protocols offered to be used by tests.
protocol: [
"fuchsia.accessibility.semantics.SemanticsManager",
"fuchsia.buildinfo.Provider",
"fuchsia.feedback.ComponentDataRegister",
"fuchsia.feedback.CrashReportingProductRegister",
"fuchsia.fonts.Provider",
"fuchsia.inspect.InspectSink",
"fuchsia.intl.PropertyProvider",
"fuchsia.logger.LogSink",
"fuchsia.media.Audio",
"fuchsia.media.AudioDeviceEnumerator",
"fuchsia.media.ProfileProvider",
"fuchsia.mediacodec.CodecFactory",
"fuchsia.memorypressure.Provider",
"fuchsia.net.interfaces.State",
"fuchsia.posix.socket.Provider",
"fuchsia.process.Launcher",
"fuchsia.session.scene.Manager",
"fuchsia.sysinfo.SysInfo",
"fuchsia.sysmem.Allocator",
"fuchsia.sysmem2.Allocator",
"fuchsia.tracing.controller.Controller",
"fuchsia.tracing.perfetto.ProducerConnector",
"fuchsia.tracing.provider.Registry",
],
from: "parent",
to: "#system-validation-tests",
},
{
// These are non-hermetic protocols offered to be used by tests.
protocol: [
"fuchsia.ui.composition.Allocator",
"fuchsia.ui.composition.Flatland",
"fuchsia.ui.composition.Screenshot",
"fuchsia.ui.input3.Keyboard",
"fuchsia.ui.scenic.Scenic",
"fuchsia.vulkan.loader.Loader",
],
from: "parent",
to: "#system-validation-tests",
},
{
event_stream: [
"capability_requested",
"started",
"stopped",
],
from: "parent",
to: "#system-validation-tests",
scope: "#system-validation-tests",
},
// 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: "#system-validation-tests",
},
{
directory: "root-ssl-certificates",
from: "parent",
to: "#system-validation-tests",
},
// NOTE:: spinning_square uses this capability, however if offered it'll switch to create views that
// directly runs on the display coordinator. For system validation testing, we want to run the app
// using views created by scenic.
// https://cs.opensource.google/fuchsia/fuchsia/+/main:src/lib/ui/carnelian/src/app/strategies/base.rs;l=133
//
// TODO: Find a better way to force carnelian apps to use scenic.
// {
// directory: "dev-display-coordinator",
// from: "parent",
// to: "#system-validation-tests",
// rights: [ "r*" ],
// },
{
directory: [
"dev-goldfish-address-space",
"dev-goldfish-control",
"dev-goldfish-pipe",
"dev-goldfish-sync",
"dev-gpu",
"dev-input-report",
"dev-mediacodec",
],
from: "parent",
to: "#system-validation-tests",
rights: [ "r*" ],
},
{
storage: [
"cache",
"tmp",
],
from: "self",
to: "#system-validation-tests",
},
{
storage: "fxfs_tests_data",
from: "self",
as: "data",
to: [ "#system-validation-tests" ],
rights: [ "rw*" ],
},
],
}