# 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_hardware_ethernet_ext") {
  with_unit_tests = true
  edition = "2018"
  deps = [
    "//third_party/rust_crates:bitflags",
    "//third_party/rust_crates:failure",
    "//third_party/rust_crates:serde",
    "//third_party/rust_crates:serde_json",
    "//zircon/public/fidl/fuchsia-hardware-ethernet:fuchsia-hardware-ethernet-rustc",
    "//zircon/public/fidl/fuchsia-net:fuchsia-net-rustc",
  ]
}

unittest_package("fidl_fuchsia_hardware_ethernet_ext_tests") {
  deps = [
    ":fidl_fuchsia_hardware_ethernet_ext",
  ]
  tests = [
    {
      name = "fidl_fuchsia_hardware_ethernet_ext_lib_test"
      environments = basic_envs
    },
  ]
}
