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

rustc_test("test") {
  name = "regulatory_region_integration_test"
  edition = "2018"
  deps = [
    "//sdk/fidl/fuchsia.location.namedplace:fuchsia.location.namedplace-rustc",
    "//sdk/fidl/fuchsia.sys:fuchsia.sys-rustc",
    "//sdk/fidl/fuchsia.sys.test:fuchsia.sys.test-rustc",
    "//src/lib/fuchsia-async",
    "//src/lib/fuchsia-component",
    "//src/lib/syslog/rust:syslog",
    "//third_party/rust_crates:anyhow",
    "//third_party/rust_crates:thiserror",
  ]

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

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

fuchsia_unittest_package("regulatory-region-integration-test") {
  manifest = "meta/regulatory-region-integration-test.cmx"
  deps = [ ":test" ]
}
