# 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.

import("//build/components.gni")
import("//build/rust/rustc_binary.gni")

rustc_binary("proxy_stressor_bin") {
  testonly = true
  edition = "2021"
  name = "proxy_stressor"
  deps = [
    "fidl:test.proxy.stress_rust",
    "//src/lib/fuchsia",
    "//src/lib/fuchsia-component",
    "//src/lib/zircon/rust:fuchsia-zircon",
    "//third_party/rust_crates:anyhow",
    "//third_party/rust_crates:futures",
    "//third_party/rust_crates:tracing",
  ]

  sources = [ "src/server.rs" ]
  source_root = "src/server.rs"
}

fuchsia_component("proxy_stressor") {
  testonly = true
  manifest = "meta/server.cml"
  deps = [ ":proxy_stressor_bin" ]
}
