# 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/package.gni")
import("//build/rust/rustc_library.gni")
import("//build/test/test_package.gni")
import("//build/testing/environments.gni")

rustc_library("driver") {
  name = "system_updater_tests"
  edition = "2018"
  with_unit_tests = true

  deps = [
    "//garnet/public/lib/fidl/rust/fidl",
    "//garnet/public/rust/fuchsia-async",
    "//garnet/public/rust/fuchsia-component",
    "//garnet/public/rust/fuchsia-runtime",
    "//garnet/public/rust/fuchsia-syslog",
    "//garnet/public/rust/fuchsia-zircon",
    "//sdk/fidl/fuchsia.amber:fuchsia.amber-rustc",
    "//sdk/fidl/fuchsia.pkg:fuchsia.pkg-rustc",
    "//sdk/fidl/fuchsia.sys:fuchsia.sys-rustc",
    "//third_party/rust_crates:failure",
    "//third_party/rust_crates:futures-preview",
    "//third_party/rust_crates:hex",
    "//third_party/rust_crates:log",
    "//third_party/rust_crates:parking_lot",
    "//third_party/rust_crates:serde",
    "//third_party/rust_crates:serde_derive",
    "//third_party/rust_crates:serde_json",
    "//third_party/rust_crates:tempfile",
    "//zircon/public/fidl/fuchsia-cobalt:fuchsia-cobalt-rustc",
    "//zircon/public/fidl/fuchsia-device-manager:fuchsia-device-manager-rustc",
  ]
}

test_package("systemupdater-tests") {
  deps = [
    ":driver",
    "//garnet/go/src/grand_unified_binary",
  ]

  binaries = [
    {
      name = "system_updater"
      source = "grand_unified_binary"
    },
  ]

  resources = [
    {
      path = rebase_path("//garnet/go/src/amber/system_updater/images")
      dest = "images"
    },
  ]

  meta = [
    {
      path = rebase_path(
              "//garnet/go/src/amber/system_updater/meta/system_updater_isolated.cmx")
      dest = "system_updater_isolated.cmx"
    },
  ]

  tests = [
    {
      name = "system_updater_tests_lib_test"
      environments = basic_envs
    },
  ]
}
