# Copyright 2017 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("//peridot/build/executable_package.gni")

source_set("defs") {
  testonly = true

  sources = [
    "defs.h",
  ]
}

executable_package("link_context_entities_test_session_shell") {
  deprecated_bare_package_url = "//build"

  testonly = true

  meta = [
    {
      path = "meta/link_context_entities_test_session_shell.cmx"
      dest = "link_context_entities_test_session_shell.cmx"
    },
  ]

  sources = [
    "link_context_entities_test_session_shell.cc",
  ]

  deps = [
    ":defs",
    "//garnet/public/fidl/fuchsia.testing.runner",
    "//garnet/public/fidl/fuchsia.ui.viewsv1",
    "//garnet/public/lib/fidl/cpp",
    "//garnet/public/lib/fxl",
    "//peridot/lib/fidl:array_to_string",
    "//peridot/lib/fidl:single_service_app",
    "//peridot/lib/rapidjson",
    "//peridot/public/lib/integration_testing/cpp",
    "//peridot/lib/testing:component_main",
    "//peridot/lib/testing:session_shell_base",
    "//peridot/public/fidl/fuchsia.modular",
    "//peridot/public/lib/context/cpp:context_helper",
    "//peridot/public/lib/fostr/fidl/fuchsia.modular",
    "//peridot/tests/common:defs",
    "//zircon/public/lib/async-loop-cpp",
  ]
}

executable_package("link_context_entities_test_module") {
  deprecated_bare_package_url = "//build"

  testonly = true

  meta = [
    {
      path = "meta/link_context_entities_test_module.cmx"
      dest = "link_context_entities_test_module.cmx"
    },
  ]

  sources = [
    "link_context_entities_test_module.cc",
  ]

  deps = [
    ":defs",
    "//garnet/public/fidl/fuchsia.ui.viewsv1",
    "//peridot/public/lib/integration_testing/cpp",
    "//peridot/lib/testing:component_base",
    "//peridot/public/fidl/fuchsia.modular",
    "//peridot/public/lib/app_driver/cpp:module_driver",
    "//peridot/tests/common:defs",
    "//zircon/public/lib/async-loop-cpp",
  ]
}
