# Copyright 2025 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/components.gni")
import("//build/rust/rustc_library.gni")

rustc_library("fuchsia-async-inspect") {
  edition = "2024"
  with_unit_tests = true
  deps = [
    "//sdk/rust/zx",
    "//src/lib/diagnostics/inspect/rust",
    "//src/lib/fuchsia-async",
    "//src/lib/fuchsia-sync",
  ]
  test_deps = [
    "//src/lib/diagnostics/testing/diagnostics-assertions/rust:diagnostics-assertions",
    "//src/lib/fuchsia",
    "//third_party/rust_crates:futures",
  ]
  source_root = "src/lib.rs"
  sources = [ "src/lib.rs" ]
}

fuchsia_unittest_package("fuchsia-async-inspect-tests") {
  deps = [ ":fuchsia-async-inspect_test" ]
}

group("tests") {
  testonly = true
  deps = [ ":fuchsia-async-inspect-tests" ]
}
