# 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 = [ "//third_party/googletest:gtest" ]
}

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 = [ qemu_env ]
    },
  ]
}

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