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

group("test_driver") {
  testonly = true
  deps = [
    ":test_driver_module",
  ]
}

executable_package("test_driver_module") {
  testonly = true

  sources = [
    "test_driver_module.cc",
  ]
  deps = [
    "//peridot/lib/rapidjson",
    "//peridot/lib/testing:test_driver",
    "//peridot/public/lib/app_driver/cpp",
    "//peridot/public/lib/integration_testing/cpp",
    "//sdk/fidl/fuchsia.modular",
    "//sdk/fidl/fuchsia.testing.runner",
    "//sdk/fidl/fuchsia.ui.app",
    "//sdk/lib/fidl/cpp",
    "//src/lib/fxl",
    "//zircon/public/lib/async-loop-cpp",
  ]

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