# 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.

executable("cloud_provider") {
  testonly = true

  output_name = "cloud_provider_validation_tests"

  sources = [
    "convert.cc",
    "convert.h",
    "device_set_test.cc",
    "page_cloud_test.cc",
    "types.h",
    "validation_test.cc",
    "validation_test.h",
  ]

  deps = [
    "//garnet/public/lib/fsl",
  ]

  public_deps = [
    "//garnet/public/lib/component/cpp",
    "//garnet/public/lib/fidl/cpp",
    "//garnet/public/lib/fxl",
    "//garnet/public/lib/gtest",
    "//peridot/lib/commit_pack",
    "//peridot/public/fidl/fuchsia.ledger.cloud",
    "//third_party/googletest:gtest_main",
  ]
}
