# Copyright 2018 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/package.gni")

executable("test_with_context_example_test_bin") {
  testonly = true
  output_name = "test_with_context_example_test"

  sources = [
    "test_with_context_example_test.cc",
  ]

  deps = [
    "//garnet/examples/fidl/echo2_client_cpp:lib",
    "//garnet/public/lib/component/cpp/testing",
    "//garnet/public/lib/fxl/test:gtest_main",
  ]
}

package("test_with_context_example_test") {
  testonly = true

  deps = [
    ":test_with_context_example_test_bin",
  ]

  tests = [
    {
      name = "test_with_context_example_test"
    },
  ]
}
