# 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/components.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/device_watcher_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",
    "//sdk/fidl/fuchsia.io",
    "//sdk/lib/fit",
    "//src/lib/fxl/test:gtest_main",
    "//src/lib/storage/vfs/cpp",
    "//src/lib/testing/loop_fixture",
    "//third_party/googletest:gtest",
  ]
}

fuchsia_unittest_package("fsl_tests") {
  deps = [
    ":fsl_unittests",
    "//src/sys/test_runners:tmp_storage",
  ]
}
