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

group("tests") {
  testonly = true

  deps = []

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

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

    name = "fuchsia.googlesource.com/recovery/simulator"

    deps = [ "//src/testing/qemu" ]
  }

  go_test("recovery_simulator_tests") {
    # Disable the go-level timeout for this test. This timeout does not provide any
    # value for this test and causes flakes when running an ASAN build in QEMU.
    # See fxb/38507 for additional discussion.
    timeout = "0"
    gopackages = [ "fuchsia.googlesource.com/recovery/simulator" ]
    deps = [ ":lib" ]
    non_go_deps = [ "//build/images/recovery($target_toolchain)" ]
  }
}
