# 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") {
    name = "fuchsia.googlesource.com/recovery/simulator"

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

  go_test("recovery_simulator_tests") {
    gopackage = "fuchsia.googlesource.com/recovery/simulator"
    deps = [
      ":lib",
    ]
    non_go_deps = [ "//build/images/recovery($target_toolchain)" ]
  }
}
