# Copyright 2021 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/cpp/sdk_source_set.gni")

group("tests") {
  testonly = true
  deps = [ ":file-lock-unittest-package" ]
}

sdk_source_set("cpp") {
  sdk_name = "file-lock"
  category = "internal"
  sources = [
    "file-lock.cc",
    "file-lock.h",
  ]

  deps = [ "//sdk/lib/fit" ]

  include_base = "//sdk"

  public_configs = [ "//sdk/config" ]
}

executable("file-lock-unittest") {
  testonly = true

  sources = [ "file-lock-unittest.cc" ]

  deps = [
    ":cpp",
    "//zircon/system/ulib/zxtest",
  ]
}

fuchsia_unittest_package("file-lock-unittest-package") {
  deps = [ ":file-lock-unittest" ]
}
