# 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/assembly/bootfs_files_for_assembly.gni")

executable("blktest") {
  visibility = [
    ":*",
    "//src/devices/block/drivers/ftl/tests:ftl-integration",
    "//src/devices/block/drivers/usb-mass-storage:ums-integration",
  ]
  testonly = true
  sources = [
    "blktest.cc",
    "main.c",
  ]
  deps = [
    "//sdk/fidl/fuchsia.hardware.block:fuchsia.hardware.block_cpp",
    "//sdk/lib/component/incoming/cpp",
    "//sdk/lib/fdio",
    "//src/storage/lib/block_client/cpp",
    "//zircon/system/ulib/fbl",
    "//zircon/system/ulib/fdio-caller",
    "//zircon/system/ulib/fzl",
    "//zircon/system/ulib/pretty",
    "//zircon/system/ulib/sync",
    "//zircon/system/ulib/zx",
    "//zircon/system/ulib/zxtest",
  ]
}

bootfs_files_for_assembly("bootfs") {
  testonly = true
  deps = [ ":blktest" ]
}
