# 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("suggestion_test_module") {
  deprecated_bare_package_url = "//build"

  testonly = true

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

  sources = [
    "suggestion_test_module.cc",
  ]

  deps = [
    ":defs",
    "//garnet/public/lib/callback",
    "//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",
  ]
}

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

  testonly = true

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

  sources = [
    "suggestion_test_session_shell.cc",
  ]

  deps = [
    ":defs",
    "//peridot/public/lib/integration_testing/cpp",
    "//peridot/lib/testing:component_main",
    "//peridot/lib/testing:session_shell_base",
    "//peridot/public/fidl/fuchsia.modular",
    "//peridot/tests/common:defs",
  ]
}
