# 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")

source_set("lib") {
  sources = [
    "reverser.cc",
    "reverser.h",
  ]

  # CODELAB: Include inspect dependency.
  public_deps =
      [ "//src/diagnostics/examples/inspect/fidl:fuchsia.examples.inspect" ]
}

test("reverser_unittests_part_1") {
  sources = [ "reverser_unittests.cc" ]

  deps = [
    ":lib",
    "//garnet/public/lib/gtest",
    "//sdk/lib/sys/cpp",
    "//src/lib/fxl/test:gtest_main",
  ]
}

executable("bin") {
  output_name = "inspect_cpp_codelab_part_1_bin"
  sources = [ "main.cc" ]

  deps = [
    ":lib",
    "//sdk/lib/sys/cpp",
    "//sdk/lib/syslog/cpp",
    "//zircon/system/ulib/async-loop:async-loop-cpp",
    "//zircon/system/ulib/async-loop:async-loop-default",
  ]
}
