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

import("//build/fidl/fidl.gni")

if (current_toolchain == host_toolchain) {
  source_set("host_tests") {
    testonly = true

    sources = [
      "bti_test.cc",
      "cache_test.cc",
      "channel_test.cc",
      "clock_test.cc",
      "cprng_test.cc",
      "debug_trace_test.cc",
      "display_stack_test.cc",
      "event_test.cc",
      "exception_test.cc",
      "fifo_test.cc",
      "framebuffer_test.cc",
      "futex_test.cc",
      "guest_test.cc",
      "handle_test.cc",
      "interception_workflow_test.cc",
      "interrupt_test.cc",
      "iommu_test.cc",
      "ioports_test.cc",
      "job_test.cc",
      "object_test.cc",
      "pager_test.cc",
      "pc_test.cc",
      "pci_test.cc",
      "pmt_test.cc",
      "port_test.cc",
      "process_test.cc",
      "profile_test.cc",
      "resource_test.cc",
      "smc_test.cc",
      "socket_test.cc",
      "system_test.cc",
      "task_test.cc",
      "thread_test.cc",
      "ticks_test.cc",
      "timer_test.cc",
      "vcpu_test.cc",
      "vmar_test.cc",
      "vmo_test.cc",
    ]

    deps = [
      "//src/developer/debug/ipc:client",
      "//src/developer/debug/zxdb/client:test_support",
      "//third_party/googletest:gtest",
      "//third_party/rapidjson",
      "//tools/fidlcat/lib:host_lib",
      "//zircon/public/lib/fidl_base",
      "//zircon/system/public",
    ]
  }
}
