blob: ca439b1b07e602cea691268e24c1e36cba98f24c [file] [log] [blame]
// Copyright 2024 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.
// The test root component, for which this is a manifest,
// ensures that the entire test fixture has a desirable structure
// that is described at:
// https://fuchsia.dev/fuchsia-src/development/testing/components/test_realm_factory
//
// This is a "top level" component, which has two sub-components: a test realm
// factory, which serves all the protocols needed for testing, and the test
// suite, which is the component that executes the test driver code.
{
include: [
"inspect/offer.shard.cml",
"syslog/client.shard.cml",
],
children: [
{
name: "test_realm_factory",
url: "timekeeper-test-realm-factory#meta/default.cm",
},
{
name: "test_suite",
url: "src_sys_time_testing_example#meta/component.cm",
},
],
offer: [
{
protocol: [
// Use this protocol to connect to any protocols within the
// Timekeeper Test Realm by name. It is not the most
// type-safe interface, but it is uniform.
"test.time.realm.RealmFactory",
],
from: "#test_realm_factory",
to: "#test_suite",
},
{
protocol: [ "fuchsia.diagnostics.ArchiveAccessor" ],
from: "parent",
to: "#test_suite",
},
{
event_stream: [ "capability_requested" ],
from: "parent",
to: "#test_realm_factory",
},
],
expose: [
{
// Required so that the test infrastructure can communicate with
// the tests contained in `#test_suite`.
protocol: "fuchsia.test.Suite",
from: "#test_suite",
},
],
}