# Copyright 2018 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/rust/rustc_library.gni")
import("//build/test/test_package.gni")
import("//build/testing/environments.gni")

rustc_library("fidl_fuchsia_net_stack_ext") {
  with_unit_tests = true
  edition = "2018"
  deps = [
    "//garnet/lib/rust/fidl_fuchsia_hardware_ethernet_ext",
    "//garnet/lib/rust/fidl_fuchsia_net_ext",
    "//third_party/rust_crates:bitflags",
    "//zircon/public/fidl/fuchsia-net:fuchsia-net-rustc",
    "//zircon/public/fidl/fuchsia-net-stack:fuchsia-net-stack-rustc",
  ]
}

unittest_package("fidl_fuchsia_net_stack_ext_tests") {
  deps = [
    ":fidl_fuchsia_net_stack_ext_test",
  ]
  tests = [
    {
      name = "fidl_fuchsia_net_stack_ext_lib_test"
      environments = basic_envs
    },
  ]
}
