# Copyright 2016 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/test_package.gni")

static_library("fsl") {
  output_name = "fsl"

  public_deps = [
    "//src/lib/fsl/handles",
    "//src/lib/fsl/io",
    "//src/lib/fsl/socket",
    "//src/lib/fsl/tasks",
    "//src/lib/fsl/types",
    "//src/lib/fsl/vmo",
  ]
}

executable("fsl_unittests") {
  testonly = true

  sources = [
    "handles/object_info_unittest.cc",
    "io/redirection_unittest.cc",
    "socket/blocking_drain_unittest.cc",
    "socket/files_unittest.cc",
    "socket/socket_drainer_unittest.cc",
    "socket/strings_unittest.cc",
    "tasks/fd_waiter_unittest.cc",
    "types/type_converters_unittest.cc",
    "vmo/file_unittest.cc",
    "vmo/shared_vmo_unittest.cc",
    "vmo/strings_unittest.cc",
    "vmo/vector_unittest.cc",
  ]

  deps = [
    ":fsl",
    "//garnet/public/lib/gtest",
    "//src/lib/fxl/test:gtest_main",
    "//third_party/googletest:gtest",
  ]
}

test_package("fsl_tests") {
  deps = [ ":fsl_unittests" ]

  tests = [
    {
      name = "fsl_unittests"
    },
  ]
}
