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

executable("echo_integration_test") {
  testonly = true

  sources = [ "main.cc" ]

  deps = [
    "//sdk/lib/sys/cpp",
    "//src/lib/fxl/test:gtest_main",
    "//zircon/public/lib/async-loop-cpp",
    "//zircon/public/lib/async-loop-default",
  ]

  # TODO(46716): Fix the leaks and remove this.
  deps += [ "//build/config/sanitizers:suppress-lsan.DO-NOT-USE-THIS" ]
}

test_package("echo_test") {
  deps = [ ":echo_integration_test" ]

  tests = [
    {
      name = "echo_integration_test"
      manifest = rebase_path("../meta/echo_integration_test.cmx")
      environments = basic_envs
    },
  ]
}

group("cpp") {
  testonly = true

  public_deps = [
    ":echo_test",
    "//examples/fidl/echo_client/cpp:echo_client",
    "//examples/fidl/echo_server/cpp:echo_server",
  ]
}
