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

group("tests") {
  testonly = true
  deps = [ ":operation-test" ]
}

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-bin") {
  output_name = "operation-test"
  sources = [
    "operation-list-test.cc",
    "operation-pool-test.cc",
    "operation-queue-test.cc",
    "operation-test.cc",
  ]
  deps = [
    ":dev-operation",
    "//sdk/lib/fdio",
    "//src/devices/testing/no_ddk",
    "//src/lib/ddk",
    "//zircon/public/lib/fbl",
    "//zircon/public/lib/zxtest",
  ]
}

fuchsia_unittest_package("operation-test") {
  deps = [ ":operation-test-bin" ]
}
