# 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_binary.gni")
import("//src/sys/build/components.gni")

group("tests") {
  testonly = true
  deps = [ ":lowpan-integration-tests" ]
}

fuchsia_unittest_package("lowpan-integration-tests") {
  manifest = "meta/lowpan-integration-tests.cmx"
  deps = [ ":lowpan-integration-tests-bin" ]
}

rustc_test("lowpan-integration-tests-bin") {
  name = "lowpan_integration_tests"
  edition = "2018"
  deps = [
    "//sdk/fidl/fuchsia.lowpan:fuchsia.lowpan-rustc",
    "//sdk/fidl/fuchsia.lowpan.device:fuchsia.lowpan.device-rustc",
    "//sdk/fidl/fuchsia.lowpan.test:fuchsia.lowpan.test-rustc",
    "//src/connectivity/lowpan/service",
    "//src/lib/fidl/rust/fidl",
    "//src/lib/fuchsia-async",
    "//src/lib/fuchsia-component",
    "//src/lib/storage/fuchsia-vfs-watcher",
    "//src/lib/zircon/rust:fuchsia-zircon",
    "//third_party/rust_crates:anyhow",
    "//third_party/rust_crates:futures",
    "//third_party/rust_crates:matches",
    "//third_party/rust_crates:thiserror",
  ]

  sources = [
    "src/lib.rs",
    "src/service_driver_interaction.rs",
  ]
}
