# Copyright 2020 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("//build/test/test_package.gni")

source_set("predicates") {
  testonly = true
  sources = [
    "status.cc",
    "status.h",
  ]
  public_deps = [
    # "status.h" has #include <gtest/gtest.h>.
    "//third_party/googletest:gtest",

    # "status.h" has #include <zircon/status.h>.
    "//zircon/system/ulib/zircon:zircon-headers",
  ]
}

test("predicates-lib-unittests") {
  sources = [ "predicates_test.cc" ]
  deps = [
    ":predicates",
    "//src/lib/fxl/test:gtest_main",
  ]
}

unittest_package("predicates-lib-test") {
  deps = [ ":predicates-lib-unittests" ]

  tests = [
    {
      name = "predicates-lib-unittests"
      environments = [ emu_env ]
    },
  ]
}

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