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