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

unittest_package("fidl_fuchsia_net_ext_tests") {
  deps = [
    ":fidl_fuchsia_net_ext",
  ]
  tests = [
    {
      name = "fidl_fuchsia_net_ext_lib_test"
      environments = basic_envs
    },
  ]
}
