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

source_set("fake_cobalt_service") {
  testonly = true

  sources = [ "fake_cobalt_service.h" ]

  configs += [ "$cobalt_root:cobalt_config" ]

  deps = [
    "$cobalt_root/src/logger:fake_logger",
    "$cobalt_root/src/logger:logger_interface",
    "$cobalt_root/src/public:cobalt_config",
    "$cobalt_root/src/public:cobalt_service_interface",
    "$cobalt_root/src/system_data",
    "$cobalt_root/src/system_data:fake_system_data",
  ]
}
