# 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/unification/zx_library.gni")

import("//build/test.gni")
import("//build/test/test_package.gni")

zx_library("dev-operation") {
  sdk = "source"
  sdk_headers = [ "lib/operation/operation.h" ]
  sources = []
  deps = [
    "//zircon/public/lib/fbl",
    "//zircon/public/lib/zx",
  ]
}

test("operation-test") {
  configs += [ "//build/unification/config:zircon-migrated" ]
  sources = [
    "operation-list-test.cc",
    "operation-pool-test.cc",
    "operation-queue-test.cc",
    "operation-test.cc",
  ]
  deps = [
    ":dev-operation",
    "//src/devices/testing/fake_ddk",
    "//zircon/public/lib/ddk",
    "//zircon/public/lib/fbl",
    "//zircon/public/lib/fdio",
    "//zircon/public/lib/zxtest",
  ]

  # TODO(47419): Fix the leaks and remove this.
  deps += [ "//build/config/sanitizers:suppress-lsan.DO-NOT-USE-THIS" ]
}

unittest_package("operation-test-package") {
  package_name = "operation-test"
  deps = [ ":operation-test" ]

  tests = [
    {
      name = "operation-test"
      dest = "operation-test"
    },
  ]
}
