// 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.
{
    include: [
        "//src/lib/fuchsia-hyper/hyper.shard.cml",
        "//src/storage/testing/driver_test_realm/meta/client.shard.cml",
        "//src/sys/test_runners/rust/default.shard.cml",
        "//src/sys/test_runners/tmp_storage.shard.cml",
        "inspect/client.shard.cml",
        "sys/component/realm_builder.shard.cml",
        "syslog/client.shard.cml",
    ],
    program: {
        binary: "bin/system_recovery_fdr_test",
    },
    capabilities: [
        {
            protocol: [
                "fuchsia.element.Manager",
                "fuchsia.ui.app.ViewProvider",
            ],
        },
    ],
    use: [
        {
            protocol: [
                "fuchsia.boot.WriteOnlyLog",
                "fuchsia.diagnostics.ArchiveAccessor",
                "fuchsia.fshost.Admin",
                "fuchsia.kernel.VmexResource",
                "fuchsia.paver.Paver",
                "fuchsia.posix.socket.Provider",
                "fuchsia.process.Launcher",
                "fuchsia.scheduler.RoleManager",
            ],
        },
    ],
    offer: [
        {
            protocol: [
                "fuchsia.boot.WriteOnlyLog",
                "fuchsia.logger.LogSink",
                "fuchsia.posix.socket.Provider",
                "fuchsia.scheduler.RoleManager",
                "fuchsia.sysmem.Allocator",
                "fuchsia.sysmem2.Allocator",
                "fuchsia.vulkan.loader.Loader",
            ],
            from: "parent",
            to: "#storage_driver_test_realm",
        },
    ],
    expose: [
        {
            protocol: [
                "fuchsia.element.Manager",
                "fuchsia.ui.app.ViewProvider",
            ],
            from: "self",
        },
    ],
}
