# 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/go/go_library.gni")
import("//build/go/go_test.gni")

group("tests") {
  testonly = true

  deps = []

  # kernel_lockup_detector_tests uses //tools/emulator, which only
  # works on linux.
  if (host_os == "linux") {
    deps += [ ":kernel_lockup_detector_tests($host_toolchain)" ]
  }
}

if (is_linux) {
  go_library("lib") {
    testonly = true

    deps = [ "//tools/emulator/emulatortest" ]
    sources = [ "kernel_lockup_detector_test.go" ]
  }

  go_test("kernel_lockup_detector_tests") {
    library = ":lib"
    non_go_deps = [ "//build/images/fuchsia:fuchsia_zbi_for_host_tests" ]
  }
}
