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

test("devfs-bin") {
  sources = [
    "fdio-tests.cc",
    "fidl-tests.cc",
  ]
  deps = [
    "//sdk/fidl/fuchsia.io:fuchsia.io_cpp_testing",
    "//sdk/lib/driver_test_realm/simple",
    "//sdk/lib/fdio",
    "//src/lib/fxl/test:gtest_main",
    "//src/lib/testing/predicates",
    "//zircon/system/ulib/fbl",
  ]
}

fuchsia_unittest_package("devfs-test") {
  deps = [ ":devfs-bin" ]
}

group("tests") {
  testonly = true

  public_deps = [ ":devfs-test" ]
}
