# Copyright 2019 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.
# this has to match the binary name in examples/ui/Build.gn

executable("test") {
  testonly = true

  output_name = "stream_provider_test"

  sources = [
    "test.cc",
  ]

  deps = [
    "..",
    "//src/camera/drivers/test_utils",
    "//src/lib/fxl/test:gtest_main_with_syslog",
    "//src/lib/syslog/cpp",
    "//third_party/boringssl:crypto",
    "//zircon/public/lib/async-loop-cpp",
    "//zircon/public/lib/async-loop-default",
    "//zircon/public/lib/trace",
    "//zircon/public/lib/trace-provider-with-fdio",
  ]
}
