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

test("thread-safe-deleter") {
  output_name = "thread-safe-deleter-test"
  sources = [ "thread-safe-deleter-test.cc" ]
  deps = [
    "//sdk/lib/fdio",
    "//sdk/lib/fit",
    "//zircon/system/ulib/async-loop:async-loop-cpp",
    "//zircon/system/ulib/async-loop:async-loop-default",
    "//zircon/system/ulib/thread-safe-deleter",
    "//zircon/system/ulib/zxtest",
  ]
}

fuchsia_unittest_package("thread-safe-deleter-test-pkg") {
  package_name = "thread-safe-deleter-test"
  deps = [ ":thread-safe-deleter" ]
}

group("tests") {
  testonly = true
  deps = [ ":thread-safe-deleter-test-pkg" ]
}
