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

test("events") {
  output_name = "events-test"
  configs += [
    "//build/config:all_source",
    "//build/unification/config:zircon-migrated",
  ]
  sources = [ "events.c" ]
  deps = [
    "//sdk/lib/fdio",
    "//src/zircon/lib/zircon",
    "//zircon/public/lib/zxtest",
  ]
}

fuchsia_unittest_package("events-test-pkg") {
  package_name = "events-test"
  deps = [ ":events" ]
}

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