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

  testonly = true

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

  sources = [
    "session_shell_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/fsl",
    "//garnet/public/lib/fxl",
    "//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/tests/common:defs",
  ]
}
