// 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: [
        // gtest runner
        "//src/sys/test_runners/gtest/default.shard.cml",

        // Enable system logging
        "syslog/client.shard.cml",
    ],
    program: {
        binary: "bin/server_suite_harness",
    },
    children: [
        {
            name: "rust",
            url: "#meta/server.cm",
        },
    ],
    use: [
        {
            protocol: "fidl.serversuite.Runner",
            from: "#rust",
        },
    ],
    offer: [
        {
            protocol: [ "fuchsia.logger.LogSink" ],
            from: "parent",
            to: "#rust",
        },
    ],
}
