# 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/dart/dart_library.gni")
import("//build/dart/test.gni")

dart_library("fuchsia_inspect") {
  package_name = "fuchsia_inspect"

  sdk_category = "partner"

  source_dir = "lib"

  sources = [
    "inspect.dart",
    "src/inspect/inspect.dart",
    "src/inspect/internal/_inspect_impl.dart",
    "src/inspect/node.dart",
    "src/inspect/property.dart",
    "src/vmo/bitfield64.dart",
    "src/vmo/block.dart",
    "src/vmo/heap.dart",
    "src/vmo/util.dart",
    "src/vmo/vmo_fields.dart",
    "src/vmo/vmo_holder.dart",
    "src/vmo/vmo_writer.dart",
  ]

  deps = [
    "//third_party/dart-pkg/pub/meta",
    "//topaz/public/dart/fuchsia_services",
    "//topaz/public/dart/zircon",
  ]
}

# Runs these tests using:
#   fx run-host-tests fuchsia_inspect_package_unittests

dart_test("fuchsia_inspect_package_unittests") {
  sources = [
    "inspect/internal/inspect_impl_test.dart",
    "inspect/inspect_test.dart",
    "inspect/node_test.dart",
    "inspect/property_test.dart",
    "integration/writer.dart",
    "util.dart",
    "vmo/bitfield64_test.dart",
    "vmo/block_test.dart",
    "vmo/heap_test.dart",
    "vmo/vmo_fields_test.dart",
    "vmo/vmo_writer_test.dart",
  ]

  deps = [
    ":fuchsia_inspect",
    "//third_party/dart-pkg/pub/mockito",
    "//third_party/dart-pkg/pub/test",
  ]
}
