# 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 = "go.fuchsia.dev/fuchsia/src/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 = [ "go.fuchsia.dev/fuchsia/src/recovery/simulator" ]
    deps = [ ":lib" ]
    non_go_deps = [ "//build/images/recovery:test_data($host_toolchain)" ]
  }
}
