# 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 += [ ":dm_reboot_bringup_test($host_toolchain)" ]
  }
}

if (is_linux) {
  go_library("lib") {
    testonly = true
    deps = [ "//src/tests/reboot:reboottest" ]
    sources = [ "dm_reboot_bringup_test.go" ]
  }

  host_test_data("bringup_zbi") {
    sources = [ "$root_build_dir/bringup.zbi" ]
  }

  go_test("dm_reboot_bringup_test") {
    library = ":lib"
    non_go_deps = [ ":bringup_zbi" ]
  }
}
