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

group("ftl-mtd") {
  testonly = true

  deps = [ ":ftl-volume-wrapper-integration" ]
}

test("ftl-volume-wrapper-integration") {
  if (is_fuchsia) {
    fdio_config = [ "//build/config/fuchsia:fdio_config" ]
    if (configs + fdio_config - fdio_config != configs) {
      configs -= fdio_config
    }
  }
  sources = [ "ftl-volume-wrapper-integration-tests.cc" ]

  deps = [
    "//src/storage/fvm/host",
    "//zircon/system/ulib/ftl-mtd",
    "//zircon/system/ulib/mtd",
    "//zircon/system/ulib/zxtest",
  ]
}
