// Copyright 2021 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: [ "trace/client.shard.cml" ],
    collections: [
        {
            name: "vulkan-tests",
            environment: "#test-env",
            durability: "transient",
        },
    ],
    offer: [
        {
            // These hermetic protocols are offered to be used by tests.
            protocol: [
                "fuchsia.boot.WriteOnlyLog",
                "fuchsia.inspect.InspectSink",
                "fuchsia.logger.LogSink",
                "fuchsia.process.Launcher",
            ],
            from: "parent",
            to: [ "#vulkan-tests" ],
        },

        // These system capabilities are offered for use by the vulkan tests.
        {
            protocol: [
                "fuchsia.media.ProfileProvider",
                "fuchsia.sysmem.Allocator",
                "fuchsia.sysmem2.Allocator",
                "fuchsia.vulkan.loader.Loader",
            ],
            from: "parent",
            to: "#vulkan-tests",
        },
        {
            event_stream: [ "capability_requested" ],
            from: "parent",
            to: "#vulkan-tests",
            scope: "#vulkan-tests",
        },
        {
            storage: "fxfs_tests_data",
            from: "self",
            as: "data",
            to: [ "#vulkan-tests" ],
            rights: [ "rw*" ],
        },
        {
            storage: "tmp",
            from: "self",
            to: [ "#vulkan-tests" ],
        },
        {
            storage: "cache",
            from: "self",
            to: [ "#vulkan-tests" ],
        },
    ],
}
