# 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/components.gni")
import("//build/test.gni")

test("chromeos-disk-setup") {
  output_name = "chromeos-disk-setup-test"
  configs += [ "//build/unification/config:zircon-migrated" ]
  sources = [ "chromeos-disk-setup.cc" ]
  deps = [
    "//sdk/fidl/fuchsia.hardware.block:fuchsia.hardware.block_c",
    "//sdk/lib/fdio",
    "//src/lib/storage/fs_management",
    "//src/storage/gpt",
    "//zircon/public/lib/fbl",
    "//zircon/public/lib/zx",
    "//zircon/public/lib/zxtest",
    "//zircon/system/ulib/chromeos-disk-setup",
    "//zircon/system/ulib/zxio",
    "//zircon/third_party/ulib/cksum",
  ]

  # TODO(fxbug.dev/41890): UBSan has found an instance of undefined behavior in this target.
  # Disable UBSan for this target temporarily until it is migrated into CI/CQ.
  configs += [ "//build/config:temporarily_disable_ubsan_do_not_use" ]
}

fuchsia_unittest_package("chromeos-disk-setup-test-pkg") {
  package_name = "chromeos-disk-setup-test"
  deps = [ ":chromeos-disk-setup" ]
}

group("tests") {
  testonly = true
  deps = [ ":chromeos-disk-setup-test-pkg" ]
}
