# 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 = []

  if (host_os == "linux") {
    deps += [ ":kernel_crashlog_tests($host_toolchain)" ]
  }
}

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

    name = "fuchsia.googlesource.com/tests/kernel_crashlog"

    deps = [ "//tools/emulator/emulatortest" ]

    sources = [ "kernel_crashlog_test.go" ]
  }

  go_test("kernel_crashlog_tests") {
    gopackages = [ "fuchsia.googlesource.com/tests/kernel_crashlog" ]
    deps = [
      ":lib",
      "//tools/virtual_device",
      "//tools/virtual_device:proto",
    ]
    non_go_deps = [ "//build/images/fuchsia:fuchsia_zbi_for_host_tests" ]
  }
}
