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

rustc_library("connectivity-testing") {
  name = "connectivity_testing"
  with_unit_tests = true
  edition = "2018"

  deps = [
    "//garnet/lib/wlan/fidl:fidl-rustc",
    "//garnet/lib/wlan/fidl:service-rustc",
    "//garnet/lib/wlan/fidl:sme-rustc",
    "//garnet/public/lib/fidl/rust/fidl",
    "//garnet/public/rust/fuchsia-async",
    "//garnet/public/rust/fuchsia-syslog",
    "//garnet/public/rust/fuchsia-zircon",
    "//sdk/fidl/fuchsia.wlan.common:fuchsia.wlan.common-rustc",
    "//third_party/rust_crates:failure",
    "//third_party/rust_crates:futures-preview",
    "//third_party/rust_crates:pin-utils",
  ]
}

unittest_package("connectivity-testing-tests") {
  deps = [
    ":connectivity-testing_test",
  ]
  tests = [
    {
      name = "connectivity_testing_lib_test"
      environments = basic_envs
    },
  ]
}
