// Copyright 2020 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.

// This file was generated by the `fx create` command. The template
// is located at `//tools/create/templates/component-test/meta/{{PROJECT_NAME}}.cml.tmpl-rust`.
// If you find something broken, we are eager to review fixes.

// my-component-test-rust test component manifest.
// For information on component testing and the Test Runner Framework,
// see https://fuchsia.dev/fuchsia-src/concepts/testing/v2/test_runner_framework.
{
    include: [
        "//sdk/lib/diagnostics/syslog/client.shard.cml",
        "//src/sys/test_runners/rust/default.shard.cml",
    ],

    // Information about the program to run.
    program: {
        // The binary to run for this component.
        binary: "bin/my_component_test_rust",
    },

    // Child components orchestrated by the integration test.
    children: [
        // List any dependent components here, ex:
        // {
        //   name: "hello-world",
        //   url: "fuchsia-pkg://fuchsia.com/example#meta/hello-world.cm",
        // }
    ],

    // Capabilities used by this component.
    use: [
        // Use the ArchiveAccessor to read inspect and logs from
        // all components in your test.
        { protocol: "fuchsia.diagnostics.ArchiveAccessor" },
        // Use the Realm protocol to bind to child components
        {
            protocol: "fuchsia.sys2.Realm",
            from: "framework",
        },
    ],
}
