# Copyright 2022 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")

dart_library("testing") {
  testonly = true
  package_name = "inspect_codelab_testing"

  sources = [ "integration_test.dart" ]

  deps = [
    "//examples/diagnostics/inspect/codelab/fidl:fuchsia.examples.inspect_dart",
    "//sdk/dart/fidl",
    "//sdk/dart/fuchsia_component_test:dart_realm_builder_deps",
    "//sdk/dart/fuchsia_inspect",
    "//sdk/dart/fuchsia_logger",
    "//sdk/dart/fuchsia_services",
    "//sdk/dart/zircon",
  ]
}
