// 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/sys/test_runners/rust/default.shard.cml",

        // tmp_storage.shard is included for the isolated-temp feature.
        "//src/sys/test_runners/tmp_storage.shard.cml",
        "syslog/client.shard.cml",
    ],
    program: {
        binary: "bin/settings_lib_test",
    },
    use: [
        {
            protocol: [
                "fuchsia.media.audio.VolumeControl",
                "fuchsia.media.AudioCore",
                "fuchsia.media.sessions2.Discovery",
                "fuchsia.media.sounds.Player",

                // This is added to support tracing. Therefore, we can run tests in order to trace
                // the performance of the main setui_service.
                // See more details here: https://fuchsia.dev/fuchsia-src/development/tracing.
                "fuchsia.tracing.provider.Registry",
            ],
        },
        {
            directory: "dev-input-report",
            rights: [ "r*" ],
            path: "/dev/class/input-report",
        },
        {
            directory: "pkg",
            from: "framework",
            rights: [ "r*" ],
            path: "/config/data",
            subdir: "setui_service_tests_config_data",
        },
        {
            storage: "data",
            path: "/data",
        },
    ],
}
