// 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.
{
    include: [
        "//sdk/lib/diagnostics/inspect/client.shard.cml",
        "//sdk/lib/diagnostics/syslog/client.shard.cml",
        "//src/lib/fuchsia-component-test/meta/fuchsia_component_test.shard.cml",
        "//src/sys/test_runners/rust/default.shard.cml",
        "//src/sys/test_runners/tmp_storage.shard.cml",
    ],
    program: {
        binary: "bin/pkg_cache_integration_test",
    },
    use: [
        {
            protocol: "fuchsia.sys2.Realm",
            from: "framework",
        },
        {
            protocol: [
                "fuchsia.diagnostics.ArchiveAccessor",
                "fuchsia.process.Launcher",
                "fuchsia.sys.Launcher",
                "fuchsia.sys.Loader",
            ],
            from: "parent",
        },
        {
            directory: "dev",
            from: "parent",
            rights: [ "rw*" ],
            path: "/dev",
        },
    ],
    offer: [
        {
            protocol: [
                "fuchsia.cobalt.LoggerFactory",
                "fuchsia.process.Launcher",
                "fuchsia.sys.Environment",
            ],
            from: "parent",
            to: "#fuchsia_component_test_collection",
        },
    ],
}
