# Copyright 2022 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/cpp/sdk_source_set.gni")
import("//build/testing/cc_test_executable.gni")

group("tests") {
  testonly = true
  deps = [ ":devfs-exporter-cpp-test" ]
}

sdk_source_set("cpp") {
  category = "partner"
  sdk_name = "driver_devfs_cpp"
  stable = true

  include_base = "//sdk"

  sources = [ "connector.h" ]

  public_deps = [ "//sdk/fidl/fuchsia.device.fs:fuchsia.device.fs_cpp" ]
}

cc_test_executable("cpp_test") {
  testonly = true
  output_name = "devfs-exporter-cpp-test"
  sources = [ "devfs_exporter_test.cc" ]

  deps = [
    ":cpp",
    "//sdk/fidl/fuchsia.device.fs:fuchsia.device.fs_hlcpp",
    "//sdk/fidl/fuchsia.logger:fuchsia.logger_cpp",
    "//sdk/lib/async-loop:async-loop-cpp",
    "//sdk/lib/async-loop:async-loop-default",
    "//sdk/lib/component/outgoing/cpp",
    "//sdk/lib/driver/component/cpp:test_base",
    "//src/lib/fxl/test:gtest_main",
    "//src/lib/testing/loop_fixture",
  ]
}

fuchsia_unittest_package("devfs-exporter-cpp-test") {
  deps = [ ":cpp_test" ]
}
