# Copyright 2020 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("//build/components/fuchsia_unittest_package.gni")

group("tests") {
  testonly = true
  deps = [ ":camera_gym_controller_error_unittest" ]
}

source_set("lib") {
  sources = [
    "controller_error.cc",
    "controller_error.h",
  ]
  deps = [
    "//sdk/lib/fidl/cpp",
    "//sdk/lib/sys/cpp",
    "//sdk/lib/syslog/cpp",
    "//src/lib/fxl",
  ]
  public_deps = [ "//src/camera/bin/camera-gym/fidl:controller_hlcpp" ]
}

executable("camera_gym_controller_error_unittest_bin") {
  testonly = true
  sources = [ "controller_error_unittest.cc" ]
  deps = [
    ":lib",
    "//src/lib/fxl/test:gtest_main",
  ]
}

fuchsia_unittest_package("camera_gym_controller_error_unittest") {
  deps = [ ":camera_gym_controller_error_unittest_bin" ]
}
