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

group("hanging_get_helper") {
  public_deps = [ ":lib" ]
}

group("tests") {
  testonly = true
  deps = [ ":hanging_get_helper_unittest" ]
}

source_set("lib") {
  visibility = [ ":*" ]
  public = [ "hanging_get_helper.h" ]
  public_deps = [ "//sdk/lib/fit" ]
}

executable("hanging_get_helper_unittest_bin") {
  testonly = true
  sources = [ "hanging_get_helper_unittest.cc" ]
  deps = [
    ":lib",
    "//src/lib/fxl/test:gtest_main",
  ]
}

fuchsia_unittest_package("hanging_get_helper_unittest") {
  deps = [ ":hanging_get_helper_unittest_bin" ]
}
