# 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")

executable_package("clipboard_test_module") {
  testonly = true

  sources = [
    "clipboard_test_module.cc",
  ]

  meta = [
    {
      path = "meta/clipboard_test_module.cmx"
      dest = "clipboard_test_module.cmx"
    },
  ]
  
  deps = [
    ":defs",
    "//garnet/public/fidl/fuchsia.testing.runner",
    "//garnet/public/lib/fidl/cpp",
    "//garnet/public/lib/fxl",
    "//peridot/public/lib/integration_testing/cpp",
    "//peridot/public/fidl/fuchsia.modular",
    "//peridot/public/lib/app_driver/cpp",
    "//peridot/tests/common:defs",
    "//zircon/public/lib/async-loop-cpp",
  ]
}

source_set("defs") {
  testonly = true

  sources = [
    "defs.h",
  ]
}
