| // 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", | |
| }, | |
| ], | |
| } |